Microsoft.MixedReality.Toolkit.Utilities Namespace

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.

AxisFlagsExtensions

Extension methods specific to the AxisFlags enum.

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
DefaultTransformSmoothingLogic

A default implementation of ITransformSmoothingLogic for smoothing transforms.

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.

EditorSceneUtils

Utilities for loading / saving scenes in editor via SceneInfo. Because SceneInfo is defined in MixedRealityToolkit, this can't be kept in Editor utilities.

EllipseLineDataProvider

Creates an elliptical line shape.

EyeGazeSmoother

Provides some predefined parameters for eye gaze smoothing and saccade detection.

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.

HandednessExtensions

Extension methods specific to the Handedness enum.

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 matter the object scale. This component should be used in conjunction with the "MixedRealityToolkit/Standard" shader "_BorderLight" feature.

ManipulationHandFlagsExtensions

Extension methods specific to the ManipulationHandFlags enum.

ManipulationProximityFlagsExtensions

Extension methods specific to the ManipulationProximityFlags enum.

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.

ReorientContent

Helper script to help recenter and rocient scene content in front of the user

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

SerializedObjectUtils
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

SupportedUnityXRPipelinesExtensions

Extension methods specific to the SupportedUnityXRPipelines enum.

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

TransformFlagsExtensions

Extension methods specific to the TransformFlags enum.

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.

XRSettingsUtilities

Utilities that abstract XR settings functionality so that the MRTK need not know which implementation is being used.

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.

ResponseUtils
Vector3Smoothed

Interfaces

IMigrationHandler

Interface defining a migration handler, which is used to migrate assets as they upgrade to new versions of MRTK.

ITransformSmoothingLogic

Defines a method of smoothing the components of a transform.

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

EditorSceneUtils.BuildIndexTarget

Enum used by this class to specify build settings order

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.

SupportedUnityXRPipelines

The supported Unity XR pipelines 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

The possible shapes of bounding volumes for spatial awareness of the user's surroundings.