Show / Hide Table of Contents

    Namespace Microsoft.MixedReality.Toolkit.UI

    Classes

    AppBar

    Logic for the App Bar. Generates buttons, manages states.

    AppBarButton

    Button class used by AppBar.

    Billboard

    The Billboard class implements the behaviors needed to keep a GameObject oriented towards the user.

    BoundingBox

    BoundingBoxHelper

    The BoundingBoxHelper class contains functions for getting geometric info from the non-axis-aligned bounding box of a GameObject. These functions can be used to align another object to the center of a certain face or the center of an edge of a face... etc. The BoundingBoxHelper static function can be used for a one time calculation. The dynamic functions can be used to obtain boundingcube info on an object's Update loop. Operations are minimized in the dynamic use scenario.

    ButtonBackgroundSize

    The base layout component for a button or UI elements - easily build UI with Unity Primitives. Helps to create consistency by using values that scale to a designer's 2D layout program. Based on a ratio of 2048 pixels for 1 meter of surface area.

    Use case: A designer creates a concept image of UI based on a 2048 artboard. 2048 pixels is a nice resolution for a meter of content, two meters away from the user. The FOV of the HoloLens is about 1 meter wide at 2 meters from the user meaning the designer can assume an image area of 2048 x 1184 pixels at 2 meters from the user. The designer or engineer can take pixel based redlines and create UI at 1:1 scale.

    ButtonBackgroundSizeOffset

    Scales an object relative the scale of the Anchor Transform Works best when using with Layout3DPixelSize, but not required - See LayoutPixelSize for more info Use Case: Create a button, then add another element who's size should maintain a consistent size relative to the Anchor. Like creating a button background using a Cube and ButtonSize. The add another Cube that is 40 pixels smaller than the background. Event if the background changes size, this element will remain 40 pixels smaller.

    ButtonBorder

    Use a Unity primitive cube or cylinder as a border segment relative to the scale of the AnchorTransform Use with ButtonSize on the component and the Anchor for consistent results Works best when using with ButtonSize, but not required - See ButtonSize for more info.

    ButtonCollider

    Scales the collider on one object relative to the transform's scale of another object

    ButtonLayout

    Place an object in space relative to another object's scale Good for responsive buttons that can stretch and object realign

    ButtonSize

    ButtonSizeOffset

    Scales an object relative the scale of the AnchorTransform

    CursorContextManipulationHandler

    This script provides cursor context for the manipulation handler

    CustomInteractablesReceiver

    Example of building a custom receiver that can be loaded as part of the events on the Interactable or in InteractableReceiverList or InteractableReceiver

    Extend ReceiverBaseMonoBehavior to build external event components

    FollowMeToggle

    GazeHandHelper

    This class must be instantiated by a script that implements the IMixedRealitySourceStateHandler, IMixedRealityInputHandler and IMixedRealityInputHandler<T>.

    It must receive EventData arguments from OnInputDown(), OnInputUp(), OnInputChanged() and OnSourceLost().

    This class manages the states of input necessary to calculate a proper grab position The eventData received on inputdown has the point on the target that was hit by the gaze; the mixedrealitypose - eventdata received on input changed contains the handposition in eventdata.inputdata.position It also contains useful retrieval functions.

    HandInteractionPanZoom

    HandInteractionPanZoom.HandPanData

    Internal data stored for each hand or pointer.

    HandPanEventData

    Information associated with a particular hand pan event.

    InputRecordingControls

    Utility class to make input recording service accessible through game objects. Hook up buttons to the public functions to start and stop recording input.

    Interactable

    Uses input and action data to declare a set of states Maintains a collection of themes that react to state changes and provide sensory feedback Passes state information and input data on to receivers that detect patterns and does stuff.

    InteractableActivateTheme

    InteractableAnimatorTheme

    Uses Animator to control Interactable feedback based on state changes.

    InteractableAudioReceiver

    Add audio clip to play onClick or on Voice Command

    InteractableAudioTheme

    InteractableColorChildrenTheme

    InteractableColorTheme

    A color theme that can set colors on renderers or common text objects This theme will try to set color on text objects first, if none can be found, then we fall back to renderer color setting using the parent class.

    InteractableCustomSetting

    A simple property with name value and type, used for serialization The custom settings are used in themes to expose properties needed to enhance theme functionality

    InteractableEvent

    Event base class for events attached to Interactables.

    InteractableGrabScaleTheme

    InteractableHighlight

    Adds or removes materials to target renderer for highlighting Focused GameObjects.

    InteractableMaterialTheme

    InteractableOffsetTheme

    InteractableOnClickReceiver

    A basic receiver for detecting clicks

    InteractableOnFocus

    Adds or removes materials to target renderer for highlighting Focused GameObjects.

    InteractableOnFocusReceiver

    A basic focus event receiver

    InteractableOnGrabReceiver

    A basic grab event receiver for detecting grab events (OnGrab, OnRelease) or grab state changes from Interactable When the grab states change, on or off, these events are triggered

    InteractableOnHoldReceiver

    Basic hold event receiver

    InteractableOnPressReceiver

    Basic press event receiver

    InteractableOnToggleReceiver

    a receiver that listens to toggle events

    InteractableOnTouchReceiver

    A basic touch event receiver for detecting Physical Touch state changes in the Interactable When the physical touch states change, these events are triggered.

    InteractablePointerSimulator

    A way to test button state feedback while in the editor

    InteractableProfileItem

    The foundation of profiles that exist on an Interactable Profiles pair themes with the objects they manipulate, based on state changes

    InteractableReceiver

    Example of building an event system for Interactable that still uses ReceiverBase events

    InteractableReceiverInspector

    InteractableReceiverList

    An example of building an Interactable receiver that uses built-in receivers that extend ReceiverBase This is a mono behavior, place on a gameObject and assign the Interactable

    InteractableReceiverListInspector

    InteractableRotationTheme

    InteractableScaleTheme

    InteractableShaderTheme

    InteractableStateModel

    InteractableStates

    list of Interactable states and basic comparison

    InteractableStringTheme

    Change string on a text object based on state

    InteractableTextureTheme

    InteractableThemeBase

    Base class for themes

    InteractableThemeProperty

    Base class for themes

    InteractableThemePropertyValue

    Base values of a theme property, used for serialization

    InteractableThemeShaderUtils

    Collection of shader and material utilities

    InteractableToggleCollection

    A way to control a list of radial type buttons or tabs

    InteractableType

    A wrapper for a Type which gives a "friendly name" for the type (i.e. the class name) along with the assembly qualified name (which can be used to new instances of this type).

    InteractableTypeFinder

    A helper that uses reflection to find objects that implement base types of the Interactable types that populate the various state, theme, and event inspectors.

    InteractableTypesContainer

    A convenience class that holds arrays of class names, fully qualified assembly names and their corresponding actual types.

    LoaderController

    Controls how the standard indeterminate loader moves and behaves over time.

    ManipulationEvent

    A UnityEvent callback containing a ManipulationEventData payload.

    ManipulationEventData

    Information associated with a particular manipulation event.

    ManipulationHandler

    This script allows for an object to be movable, scalable, and rotatable with one or two hands. You may also configure the script on only enable certain manipulations. The script works with both HoloLens' gesture input and immersive headset's motion controller input.

    PanUnityEvent

    Unity event for a pan / zoom event. Contains the hand pan event data

    PinchSlider

    A slider that can be moved by grabbing / pinching a slider thumb

    PressableButton

    A button that can be pushed via direct touch. You can use PhysicalPressEventRouter to route these events to Interactable.

    PressableButtonHoloLens2

    HoloLens 2 shell's style button specific elements

    ProgressIndicatorLoadingBar

    Displays progress bar and (optionally) percentage text.

    ProgressIndicatorObjectDisplay

    This class manages how a gameobject rotates and/or scales when activated as part of a Progress Indicator effect.

    ProgressIndicatorOrbsRotator

    This class manages the 'rotating circle of dots' effect that is used as a Progress Indicator effect.

    ReceiverBase

    The base class for all receivers that attach to Interactables

    ReceiverBaseMonoBehavior

    A base class for detecting hand handling state changes from an Interactable Extend this class to build new events or receivers from Interactables

    InteractableReceiver or InteractableReceiverList can be used with ReceiverBase - built-in receivers

    ScaleOffsetColorTheme

    SliderEvent

    A UnityEvent callback containing a SliderEventData payload.

    SliderEventData

    SliderSounds

    Component that plays sounds to communicate the state of a pinch slider

    State

    State data model, state management and comparison instructions

    States

    Theme

    Theme scriptableObject for loading theme settings

    ThemeEaseSettings

    Ease settings and functionality for themes

    ThemeTarget

    A way to cache some serializes values to pass between buttons and handlers

    ToggleHandVisualisation

    ToolTip

    Class for Tooltip object Creates a floating tooltip that is attached to an object and moves to stay in view as object rotates with respect to the view.

    ToolTipBackgroundBlob

    A background with 'fake' inertia Useful for soft or liquid objects

    ToolTipBackgroundCorners

    Renders meshes at the corners of a tool tip

    ToolTipBackgroundMesh

    Renders a background mesh for a tool tip using a mesh renderer If the mesh has an offset anchor point you will get odd results

    ToolTipConnector

    Connects a ToolTip to a target Maintains that connection even if the target moves

    ToolTipLineHighlight

    Renders an outline around tooltip background

    ToolTipSpawner

    Add to any Object to spawn ToolTips on tap or on focus, according to preference Applies its follow settings to the spawned ToolTip's ToolTipConnector component

    ToolTipUtility

    Static class providing useful functions for finding ToolTip Attach point information.

    TouchEvent

    A UnityEvent callback containing a TouchEventData payload.

    TransformScaleHandler

    Component for setting the min/max scale values for ManipulationHandler or BoundingBox

    VisualProfile

    Profile container for theme and for loading theme settings

    Structs

    InteractableColorChildrenTheme.BlocksAndRenderer

    InteractableEvent.ReceiverData

    InteractableThemePropertySettings

    The main settings found in Themes

    ProfileSettings

    list of theme settings to virtualize theme values

    ShaderInfo

    collection of properties found in a shader

    ShaderProperties

    property format for each property

    ThemeSettings

    List of settings that are copied from themes

    Interfaces

    IInteractableHandler

    IProgressIndicator

    IToolTipBackground

    IToolTipHighlight

    Enums

    AppBar.AppBarDisplayTypeEnum

    AppBar.AppBarStateEnum

    AppBar.ButtonTypeEnum

    BoundingBox.BoundingBoxActivationType

    This enum defines how the BoundingBox gets activated

    BoundingBox.BoundsCalculationMethod

    This enum defines what volume type the bound calculation depends on and its priority for it.

    BoundingBox.FlattenModeType

    Enum which describes how an object's boundingbox is to be flattened.

    BoundingBox.HandleType

    Enum which describes whether a boundingbox handle which has been grabbed, is a Rotation Handle (sphere) or a Scale Handle( cube)

    BoundingBox.RotationHandlePrefabCollider

    This enum defines the type of collider in use when a rotation handle prefab is provided.

    BoundingBox.WireframeType

    This enum describes which primitive type the wireframe portion of the boundingbox consists of.

    ConnectorFollowType

    How does the Tooltip track with its parent object

    ConnectorOrientType

    How does the Tooltip rotate about the connector

    ConnectorPivotDirection

    In which direction does the tooltip connector project.

    ConnectorPivotMode

    Controls how the tooltip will pivot relative to the camera/other objects.

    DisplayMode

    Enum describing the display mode of a ToolTip.

    InteractableHighlight.HighlightedMaterialStyle

    InteractableOnPressReceiver.InteractionType

    InteractableStates.InteractableStateEnum

    InteractableThemePropertyValueTypes

    Theme property value types used for converting theme values back and forth from serialized objects

    ManipulationHandler.HandMovementType

    ManipulationHandler.ReleaseBehaviorType

    ManipulationHandler.RotateInOneHandType

    ManipulationHandler.TwoHandedManipulation

    PressableButton.SpaceMode

    Enum for defining space of plane distances.

    ProgressIndicatorState

    ReceiverBaseMonoBehavior.SearchScopes

    SelectionModes

    Values for user-friendly dimensions settings

    ShaderPropertyType

    ThemeEaseSettings.BasicEaseCurves

    ToolTipAttachPoint

    Used to find a pivot point that is closest to the anchor. This ensures a natural-looking attachment where the connector line meets the label.

    ToolTipSpawner.RemainType

    TypeRestriction

    Controls the behavior of the InteractableTypeFinder.FindTypes function. See individual enum values for more details.

    Back to top Generated by DocFX