Namespace Microsoft.MixedReality.Toolkit.Utilities
Classes
ArticulatedHandPose
Shape of an articulated hand defined by joint poses.
AwaiterExtensions
We could just add a generic GetAwaiter to YieldInstruction and CustomYieldInstruction but instead we add specific methods to each derived class to allow for return values that make the most sense for the specific instruction type.
AwaiterExtensions.SimpleCoroutineAwaiter
Processes Coroutine and notifies completion.
AwaiterExtensions.SimpleCoroutineAwaiter<T>
Processes Coroutine and notifies completion with result.
BaseMeshOutline
Abstract component to encapsulate common functionality around outline components.
BaseMixedRealityLineDataProvider
Base class that provides data about a line.
BaseMixedRealityLineRenderer
Base class for Mixed Reality Line Renderers.
BaseObjectCollection
BezierDataProvider
BezierInertia
BoundsControlMigrationHandler
Migration handler for migrating bounding box gameobjects to bounds control gameobjects.
ButtonConfigHelperMigrationHandler
Migration handler for migrating buttons with custom icons to the button config helper.
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.
CameraEventRouter
A helper class to provide hooks into the Unity camera exclusive Lifecycle events
ClippingBox
Component to animate and visualize a box that can be used with per pixel based clipping.
ClippingPlane
Component to animate and visualize a plane that can be used with per pixel based clipping.
ClippingPrimitive
An abstract primitive component to animate and visualize a clipping primitive that can be used to drive per pixel based clipping.
ClippingSphere
Component to animate and visualize a sphere that can be used with per pixel based clipping.
DebugUtilities
DeviceUtility
Helps with getting data from or about the current HMD or other XR device.
Easing
Ease settings and functionality for animation with curves
EdgeUtilities
The EdgeUtilities class provides functionality for working with Edge objects.
EllipseLineDataProvider
Creates an elliptical line shape.
FastSimplexNoise
A conglomeration of open-source simplex libraries in C# with an emphasis on performance
GridObjectCollection
A Grid Object Collection is simply a set of child objects organized with some layout parameters. The collection can be used to quickly create control panels or sets of prefab/objects.
HandPoseUtils
Utilities for detecting hand poses. useful for systems without native gesture support and for raising your own events based on specific hand pose values.
HeadPositionOffset
Set the content around the camera height
HoverLight
Utility component to animate and visualize a light that can be used with the "MixedRealityToolkit/Standard" shader "_HoverLight" feature.
LineFollower
Synchronizes the follower's transform position with the point along the line.
LineUtility
Mixed Reality line utility class with helpful math functions for calculation, and other convenience methods.
MaintainBorderLightWidth
Utility component to keep the border light width a constant size no mater the object scale. This component should be used in conjunction with the "MixedRealityToolkit/Standard" shader "_BorderLight" feature.
MathUtilities
Math Utilities class.
MeshLineRenderer
Creates instances of a mesh along the line
MeshOutline
Component which can be used to render an outline around a mesh renderer. Enabling this component introduces an additional render pass of the object being outlined, but is designed to run performantly on mobile Mixed Reality devices and does not utilize any post processes. This behavior is designed to be used in conjunction with the MRTK/Standard shader. Limitations of this effect include it not working well on objects which are not watertight (or required to be two sided) and depth sorting issues can occur on overlapping objects.
MeshOutlineHierarchy
Component which can be used to render an outline around a hierarchy of mesh renderers using the MeshOutline component.
MeshSmoother
Component which can be used to automatically generate smoothed normals on a mesh and pack those normals into a UV set. Smoothed normals can be used for a variety of effects including extruding disjoint meshes along a vertex normal. This behavior is designed to be used in conjunction with the MRTK/Standard shader which assumes smoothed normals are packed into the 3rd UV set.
MigrationTool
This tool allows the migration of obsolete components into up-to-date versions. In order to be processed by the migration tool, deprecated components require specific implementation of the IMigrationHandler
MigrationTool.MigrationStatus
Utility class to keep migration status of each object
MigrationWindow
https://docs.microsoft.com/windows/mixed-reality/mrtk-unity/features/tools/migration-windowThis is an utility window for the MigrationTool.
MixedRealityLineRenderer
Implements Unity's built in line renderer component, and applies the line data to it.
MixedRealityOptimizeUtils
ObjectCollectionNode
Collection node is a data storage class for individual data about an object in a collection.
ObjectManipulatorMigrationHandler
Interface defining a migration handler, which is used to migrate assets as they upgrade to new versions of MRTK.
OBJWriterUtility
Utility for generating and saving OBJ files from GameObjects and their Meshes
ParabolaConstrainedLineDataProvider
Generates a parabolic line between two points.
ParabolaLineDataProvider
Base Parabola line data provider.
ParabolaPhysicalLineDataProvider
Creates a parabolic line based on physics.
ParticleSystemLineRenderer
attaches a set of particles to the line
PlatformUtility
ProximityLight
Utility component to animate and visualize a light that can be used with the "MixedRealityToolkit/Standard" shader "_ProximityLight" feature.
ProximityLight.LightSettings
RectangleLineDataProvider
Defines a line in the shape of a rectangle.
RectTransformCubeScaler
RectTransforms do not scale 3d objects (such as unit cubes) to fit within their bounds. This helper class will apply a scale to fit a unit cube into the bounds specified by the RectTransform. The Z component is scaled to the min of the X and Y components.
Rest
REST Class for CRUD Transactions.
RotationConstraintHelper
Helper class used to convert from RotationConstraintType to AxisFlags
RuntimeSceneUtils
ScatterObjectCollection
A Scatter Object Collection is simply a set of child objects randomly laid out within a radius. Pressing "update collection" will run the randomization, feel free to run as many times until you get the desired result.
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
SimpleLineDataProvider
A simple line with two points.
SplineDataProvider
Creates a spline based on control points.
StabilizedRay
A ray whose position and direction are stabilized in a way similar to how gaze stabilization works in HoloLens.
The ray uses Anatolie Gavrulic's "DynamicExpDecay" filter to stabilize the ray this filter adjusts its smoothing factor based on the velocity of the filtered object
The formula is Y_smooted += ∆𝑌_𝑟 where 〖∆𝑌_𝑟=∆𝑌∗〖0.5〗^(∆𝑌/〖Halflife〗)
In code, LERP(signal, oldValue, POW(0.5, ABS(signal – oldValue) / hl)
StandardShaderUtility
Mixed Reality standard shader utility class with commonly used constants, types and convenience methods.
StripMeshLineRenderer
Draws a strip of polygons along the line
SyncContextUtility
Utility class to assist in thread and context synchronization.
SystemType
Reference to a class Type with support for Unity serialization.
TileGridObjectCollection
A basic grid layout for game objects of a consistent size
TypeCacheUtility
Utility class to store subclasses of particular base class keys Reloads between play mode/edit mode and after re-compile of scripts
WaitForBackgroundThread
WaitForUpdate
This can be used as a way to return to the main unity thread when using multiple threads with async methods.
XRSubsystemHelpers
A helper class to provide easier access to active Unity XR SDK subsystems.
Structs
AnimatorParameter
A copy of the AnimatorControllerParameter because that class is not Serializable and cannot be modified in the editor.
MixedRealityPose
MixedRealityTransform
ProcessResult
Result from a completed asynchronous process.
Response
Response to a REST Call.
Vector3Smoothed
Interfaces
IMigrationHandler
Interface defining a migration handler, which is used to migrate assets as they upgrade to new versions of MRTK.
Enums
ArticulatedHandPose.GestureId
Supported hand gestures.
AutoStartBehavior
This enumeration identifies two different ways to handle the startup behavior for a feature. Both will warm up the component, ready for its use (e.g. connecting backend services or registering for events. The first causes the feature to start immediately. The second allows the feature to be manually started at a later time.
AxisFlags
Flags used to represent a set of 3D axes
AxisType
The AxisType identifies the type of button or input being sent to the framework from a controller. This is mainly information only or for advanced users to understand the input coming directly from the controller.
ClippingPrimitive.Side
CollationOrder
Collation order type used for sorting
CreateProfileMenuItemIndices
Defines the display order of the Assets > Create > Mixed Reality Toolkit > Profiles menu items.
DebugUtilities.LoggingLevel
An enum describing the level of logs that DebugUtilities will emit to the Unity player log.
Easing.BasicEaseCurves
basic ease curves for quick settings
ExperienceScale
The ExperienceScale identifies the environment for which the experience is designed.
Handedness
The Handedness defines which hand a controller is currently operating in. It is up to the developer to determine whether this affects the use of a controller or not. "Other" defines potential controllers that will offer a "third" hand, e.g. a full body tracking suit.
LayoutAnchor
Describes where parent should be located relative to child layout elements.
LayoutHorizontalAlignment
Describes how the layout should be arranged horizontally
LayoutOrder
Collection layout type enum
LayoutVerticalAlignment
Describes how the layout should be arranged vertically
ManipulationHandFlags
Flags used to represent the number of hands that can be used in manipulation
ManipulationProximityFlags
Flags used to represent whether manipulation can be far, near or both
MigrationTool.MigrationToolState
Possible states for the migration tool
MovementConstraintType
ObjectOrientationSurfaceType
The type of surface to map the collect to.
OrientationType
Orientation type enum
PivotAxis
Rotational Pivot axis for orientating an object
RadialViewReferenceDirection
Which direction to orient the radial view object.
RecognitionConfidenceLevel
Indicates the confidence level of a recognized event.
RotationConstraintType
ScaleState
SolverOrientationType
SupportedApplicationModes
The supported Application modes for specific features.
SupportedPlatforms
The supported platforms for Mixed Reality Toolkit Components and Features.
TileGridObjectCollection.GridDivisions
structure elements of a grid layout
TrackedHandJoint
The supported tracked hand joints.
TrackedObjectType
TransformFlags
Flags used to represent a combination of different types of transformation
TypeGrouping
Indicates how selectable classes should be collated in drop-down menu.
VolumeType
todo