Microsoft.MixedReality.Toolkit Namespace
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Classes
AnimationCurveExtensions |
Extension methods for Unity's AnimationCurve class |
ArrayExtensions |
Array type method extensions. |
AssemblyExtensions | |
BaseCoreSystem | |
BaseDataProvider | |
BaseDataProvider<T> |
The base data provider implements IMixedRealityDataProvider and provides default properties for all data providers. |
BaseDataProviderAccessCoreSystem |
Abstract class for core MRTK system with functionality defined for managing and accessing IMixedRealityDataProviders |
BaseEventSystem |
Base Event System that can be inherited from to give other system features event capabilities. |
BaseExtensionService |
The base extension service implements IMixedRealityExtensionService and provides default properties for all extension services. |
BaseMixedRealityProfile |
Base abstract class for all Mixed Reality profile configurations. Extends ScriptableObject and used as a property container to initialize MRTK services. |
BaseMRTKProfile |
Base abstract class for all profiles. |
BaseService |
The base service implements IMixedRealityService and provides default properties for all services. |
BaseSubsystemConfig |
The base class that all subsystem configuration data inherits from. |
BeginReadOnlyGroupAttribute | |
BoundsExtensions |
Extensions for Unity's Bounds struct. |
CameraCache |
The purpose of this class is to provide a cached reference to the main camera. Calling Camera.main executes a FindByTag on the scene, which will get worse and worse with more tagged objects. |
CameraExtensions |
Extension methods for the Unity's Camera class |
CameraFOVChecker |
Camera extension methods to test if colliders are within camera's FOV. Uses caching to improve performance and ensure values are only computed once per frame |
CameraSettings | |
CameraSettingsManager |
Class that applies the appropriate camera settings based on the display type. |
CanvasExtensions |
Extensions for the Canvas class. |
ClassDataBindingProfile |
This profile typically will become part of a scriptable object to provide a series of mappings between UX elements and the data and theme keypaths and data sources that will service them, for a specific C# class that implements the IDataConsumerConfiguration interface. Note that only the class name is required. The bindings can essentially be anything that that specific class knows how to consume. The majority of DataConsumer classes can be serviced by this implementation of a binding profile. |
CollectionsExtensions |
Extension methods for .Net Collection objects, e.g. Lists, Dictionaries, Arrays |
Color32Extensions |
Extension methods for Unity's Color32 struct |
ColorUtilities | |
ComparerExtensions |
Extension methods for .Net Comparer's |
ComponentExtensions |
Extensions methods for the Unity Component class. This also includes some component-related extensions for the GameObject class. |
ControllerLookup |
A basic convenience registry allowing easy reference to controllers. |
CoreServices |
Utility class to easily access references to core runtime Mixed Reality Toolkit Services If deallocating and re-allocating a new system at runtime, ResetCacheReferences() should be used to get a proper reference |
DataBindingProfile |
This profile can be used to configure data and theme binding settings for a themable element of the UX. It makes the connection between a data source, a theme source and the UX elements that should be affected. |
DateTimeExtensions |
DateTime Extensions. |
DocLinkAttribute |
Defines a documentation link for a service. Used primarily by service inspector facades. |
DoubleExtensions |
Extension methods for the .Net Double struct |
DrawIfAttribute |
Conditionally draws a property or field. |
DrawIfPropertyDrawer |
Conditionally draws a property based on the value associated with the DrawIfAttribute attribute. |
EditableTimedFlagAttribute |
Attribute to enable an inspector checkbox for toggling the state at edit-time. Mostly used for Toggle state. |
EndReadOnlyGroupAttribute | |
EnumerableExtensions |
Extension methods to simplify working with IEnumerable collections. |
EnumFlagsAttribute |
An attribute that allows a particular field to be rendered as multi-selectable set of flags. |
EventSystemExtensions |
Extension methods for Unity's EventSystem |
ExperimentalAttribute |
A PropertyAttribute for showing a warning box that the tagged implementation is experimental. |
ExtendsAttribute |
Constraint that allows selection of classes that extend a specific class when selecting a Utilities.SystemType with the Unity inspector. |
FloatExtensions |
Extension methods for the .Net Float struct |
GameObjectExtensions |
Extension methods for Unity's GameObject class |
GenericBaseEventData |
Generic Base Event Data for Sending Events through the Event System. |
HandBounds |
Utility behavior to access the axis aligned bounds of an articulated hand (or the proxy visualizer of a motion controller). |
HandednessExtensions |
Extension methods that make working with the Handedness enum easier. |
HandsUtils |
Collection of utility methods to simplify working with the Hands subsystem(s). |
HelpAttribute |
A PropertyAttribute for showing a collapsible Help section. |
ImplementsAttribute |
Constraint that allows selection of classes that implement a specific interface when selecting a Utilities.SystemType with the Unity inspector. |
InterfaceExtensions |
Extension methods for working with interfaces. |
InterfaceSelectorAttribute |
This attaches a Unity Inspector drawer that will enable selection and instantiation of concrete classes that are assignable to this field. This pairs best with an interface and the [SerializedReference] attribute, though technically any parent class type will work! |
LabelWidthAttribute | |
LayerExtensions |
Extension methods for Unity's LayerMask struct |
MathExtensions |
Extension methods and helper functions for various math data |
MathUtilities |
Math Utilities class. |
MixedRealityCameraProfile |
This Scriptable Object tells you if your head mounted display (HMD) is a transparent device or an occluded device. Based on those values, you can customize your camera and quality settings. |
MixedRealityDataProviderAttribute |
Attribute that defines the properties of a Mixed Reality Toolkit data provider. |
MixedRealityExperienceSettingsProfile |
Experience settings profile for the Mixed Reality Toolkit. |
MixedRealityExtensionServiceAttribute |
Attribute that defines the properties of a Mixed Reality Toolkit extension service. |
MixedRealityPlayspace |
A static class encapsulating the Mixed Reality playspace. |
MixedRealityRaycaster |
Custom raycaster that enables features such as stepwise raycasts. |
MixedRealityRegisteredServiceProvidersProfile | |
MixedRealitySceneContent |
Use this script on GameObjects you wish to be aligned in certain ways depending on the application space type. For example, if you want to place an object at the height of the user's head in a room scale application, check alignWithHeadHeight. In a stationary scale application, this is equivalent to placing the object at a height of 0. You can also specify specific locations to place the object based on space type. This script runs once, on GameObject creation. |
MixedRealityServiceInspectorAttribute |
Attach to a class implementing IMixedRealityServiceInspector to generate a facade inspector. |
MixedRealityServiceProfileAttribute |
Attribute that defines which service a profile is meant to be consumed by. Only applies to profiles that are consumed by types implementing IMixedRealityService. A service must implement all required types and no excluded types to be considered compatible with the profile. |
MixedRealityServiceRegistry |
Static class that represents the Mixed Reality Toolkit service registry. |
MixedRealityToolkit |
This class is responsible for coordinating the operation of the Mixed Reality Toolkit. It is the only Singleton in the entire project. It provides a service registry for all active services that are used within a project as well as providing the active configuration profile for the project. The Profile can be swapped out at any time to meet the needs of your project. |
MixedRealityToolkitConfigurationProfile |
Configuration profile settings for the Mixed Reality Toolkit. |
MRTKBaseInteractable |
Extended version of XRBaseInteractable to enable multi-hand interactions. |
MRTKProfile |
A build-target-specific profile that determines which subsystems are launched, and which configurations are bound to them. |
PhysicalPressEventRouter |
This class exists to route PressableButton events through to Interactable. The result is being able to have physical touch call Interactable.OnPointerClicked. |
PhysicsLayerAttribute |
Attribute used to make an Int32 field render a dropdown generated from the current layers defined in the Tag Manager. |
PlacementEventData |
Describes placement of objects events. |
PlayspaceUtilities |
Utilities for retrieving the XR rig's offset transform, for use in transforming tracked object coordinates. |
PrefabAttribute |
Attribute used to ensure that a GameObject inspector slot only accepts prefabs. |
ProcessExtensions |
Process Extension class. |
QuaternionExtensions |
Extension methods for Unity's Quaternion struct. |
RayExtensions |
Extension methods for Unity's Ray struct |
ReadOnlyAttribute | |
SceneAssetReferenceAttribute |
Attribute for using a SceneAssetReference property drawer. |
SceneAssetReferenceAttributeDrawer |
Draws an object field as a scene asset reference. This enables fields to store references to scene assets (which is an editor-only object) as unity objects (which work in both editor and runtime) |
ScenePickAttribute |
Attribute to mark up an int field to be drawn using the ScenePickPropertyDrawer This allows the UI to display a dropdown instead of a numeric entry field. |
SerializableDictionary<TKey,TValue> |
Generic Dictionary helper class that handles serialization of keys and values into lists before/after serialization time since Dictionary by itself is not Serializable. Extends C# Dictionary class to support typical API access methods |
Smoothing |
Provides several utility functions for smoothing and lerping. |
SpeechKeywordAttribute |
Attribute used to display a dropdown of registered keywords from the speech profile. |
StabilizedRay |
A ray whose position and direction are stabilized in a way similar to how gaze stabilization works in HoloLens. |
StatefulInteractable | |
StatefulTimerEvent | |
StringBuilderExtensions |
StringBuilder Extensions. |
StringExtensions |
String Extensions. |
SubmitEventRouter |
This is a helper class to allow you to call OnSubmit() on a UnityEngine.UI.Button or other control derived from UnityEngine.EventSystems.ISubmitHandler on this gameObject. It exposes a public function that can be bound in the Editor to a Unity Event. |
SystemInterfaceType |
Reference to a Type, that may or may not be instantiable. Similar to SystemType, but without the concrete/non-interface-type constraints. |
SystemNumericsExtensions | |
SystemType |
Reference to a class Type with support for Unity serialization. |
SystemTypeAttribute |
Base class for class selection constraints that can be applied when selecting a Utilities.SystemType with the Unity inspector. |
TagPropertyAttribute |
A PropertyAttribute for Unity tags (a string field). |
Texture2DExtensions |
A collection of helper functions for Texture2D |
TimedFlag | |
TransformExtensions |
Extension methods for Unity's Transform class |
TransformFlagsExtensions |
Extension methods specific to the TransformFlags enum. |
TypeExtensions | |
UnityObjectExtensions |
Extension methods for Unity's Object class |
UXBindingProfileTemplate |
This profile combines binding profiles for all Data Consumers used in the MRTK UXComponents components and is used by the BindingConfigurator that can be dropped on any prefab (or gameobject hierarchy) to automatically configure all Data Consumers that will be needed to make those game objects data bindable and themable. |
Vector3RangeAttribute |
Attribute used to make a float or int variable in a script be restricted to a specific range. |
VectorExtensions |
Extension methods for Unity's Vector struct |
XRNodeExtensions |
Methods which extend the functionality of the Unity XRNode struct. |
XRSubsystemHelpers |
A helper class to provide easier access to XR subsystems. |
Structs
BaseEventSystem.EventHandlerEntry | |
DataBindingProfile.ValueToKeypath |
A mapping from a datum to a keypath. The datum can be a numeric value that is provided as a string, and it will properly map to a numeric value from the actual data source. |
HandJointPose | |
IPokeInteractor.PokePath | |
MixedRealityServiceConfiguration |
Defines a system, feature, or manager to be registered with as a IMixedRealityExtensionService on startup. |
MixedRealityTransform | |
RayStep |
Interfaces
IClassDataBindingProfile |
This interface is used to enable components outside of the Data Binding package to specify bindings for specific implementations of DataConsumers, and then call the ConfigureFromBindingProfile method on any object, typically a DataConsumer, that implements the IDataBindingConfigurator interface, to establish a series of one or more bindings. |
IDataBindable |
An interface for binding a class according to a DataBindingProfile. This interface is implemented by any data consumer that also supports binding and theming and wishes to be bindable from a common profile with other data consumers. |
IDataBindingConfigurator |
Configures one or more data consumers on a gameobject according to the provided profile. This can bind for both theming and data. |
IGazeInteractor |
An interface that all gaze-like interactors implement. Interactors that implement this interface are expected to use the UnityEngine.XR.Interaction.Toolkit.IXRInteractor attachTransform to specify the impact point of the gaze ray on the interactable. |
IGazePinchInteractor |
An interface that all gaze-pinch-like interactors must implement. |
IGrabInteractor |
An interface that all grab-like interactors implement. Interactors that implement this interface are expected to use the UnityEngine.XR.Interaction.Toolkit.IXRInteractor attachTransform to specify the point at which the grab occurs. |
IHandedInteractor |
An interface that all interactors with the concept of handedness implement. |
IMixedRealityCapabilityCheck | |
IMixedRealityDataProvider |
Required interface for all Mixed Reality data providers. Data providers are the components that supply services with required information (ex: input controller state). |
IMixedRealityDataProviderAccess |
Allows systems to provide access to their managed data providers. |
IMixedRealityEventHandler |
Interface to implement generic events. |
IMixedRealityEventSource |
Interface to implement an event source. |
IMixedRealityEventSystem |
Interface used to implement an Event System that is compatible with the Mixed Reality Toolkit. |
IMixedRealityExtensionService |
Generic interface for all optional Mixed Reality systems, components, or features that can be added to the MixedRealityServiceConfiguration |
IMixedRealityService |
Generic interface for all Mixed Reality Services |
IMixedRealityServiceConfiguration |
Defines configuration data for to be registered for a IMixedRealityService on startup. Generally, used for configuring the extended interface, IMixedRealityDataProvider |
IMixedRealityServiceRegistrar |
Interface for Mixed Reality Toolkit service registration. |
IMixedRealityServiceState |
Interface providing properties that components can call to determine the current state of a mixed reality service. |
IPokeInteractor |
An interface that all poke-like interactors implement. Interactors that implement this interface are expected to use the UnityEngine.XR.Interaction.Toolkit.IXRInteractor attachTransform to specify the point at which the poke occurs; typically, this would be the tip of the index finger for an articulated hand, or a pre-determined poking point on a motion controller rig. |
IProxyInteractor |
The abstract interaction events that all proxy interactors support. Proxy interactors are used to map foreign interaction systems (like UnityUI) onto XRI interaction primitives. Generally, input shims will call these functions to request the proxy to hover/select/etc the object on which the shim is placed. |
IRayInteractor |
An interface that all far-ray-like interactors implement. Interactors that implement this interface are expected to use the UnityEngine.XR.Interaction.Toolkit.IXRInteractor attachTransform to specify the impact point of the ray on the interactable. |
ISnapInteractable |
Interactables that represent a handle-like affordance should implement this interface, such that interactors can snap their visuals/ray/etc directly to the affordance instead of using the typical local offset. |
ISpeechInteractor |
An interface that all speech-driven interactors implement. |
IVariableSelectInteractor |
An interface that all interactors which offer variable selection must implement. |
Enums
Axis |
Used to specify a 3D axis. |
AxisFlags |
Flags used to specify a set of one or more 3D axes. |
BoundsExtensions.Axis | |
DataRetrievalMethod |
The method of retrieving the final value of the correct type for a data/theme binding to a UX element. There may be both variable data and theme data:
An example:
|
DisplayType |
Describes the type of display provided by the device. |
DistortionMode |
How to apply the distortion along the line. |
DrawIfAttribute.ComparisonType |
Types of comperisons. |
Handedness |
Defines in which hand a controller is currently being used. |
InterpolationMode |
Default options for how to distribute interpolated points in a line renderer |
InterpolationType |
Defines the type of interpolation to use when calculating a spline. |
LinePointTransformMode |
Defines how a base line data provider will transform its points |
LineRotationMode |
Defines how to calculate the line's rotation at any given point. |
MixedRealityCapability |
Mixed reality platform capabilities. |
PhysicalPressEventRouter.PhysicalPressEventBehavior | |
PointDistributionMode |
Defines how to get an interpolated point along a line |
SDKType |
The SDKType lists the XR SDKs that are supported by the Mixed Reality Toolkit. Initially, this lists proposed SDKs, not all may be implemented at this time (please see ReleaseNotes for more details) |
StatefulInteractable.ToggleType |
Toggle modes for interactables. |
StepMode |
Defines how to generate points in a line renderer |
TrackedHandJoint |
The supported tracked hand joints. |
TrackingState |
The Tracking State defines how a device is currently being tracked. This enables developers to be able to handle non-tracked situations and react accordingly. |
TransformFlags |
Flags used to represent a combination of different types of transformation |
TypeGrouping |
Indicates how selectable classes should be collated in drop-down menu. |