Upgrading from HoloToolkit — MRTK2

A guide to help you with migration from HoloLens Toolkit (HTK) to Mixed Reality Toolkit (MRTK).

Controller and hand input

Setup and configuration

Methods HTK 2017 MRTK v2
Type Specific events for buttons, with input type info when relevant. Action / Gesture based input, passed along via events.
Setup Place the InputManager in the scene. Enable the input system in the Configuration Profile and specify a concrete input system type.
Configuration Configured in the Inspector, on each individual script in the scene. Configured via the Mixed Reality Input System Profile and its related profile, listed below.

Related profiles:

  • Mixed Reality Controller Mapping Profile
  • Mixed Reality Controller Visualization Profile
  • Mixed Reality Gestures Profile
  • Mixed Reality Input Actions Profile
  • Mixed Reality Input Action Rules Profile
  • Mixed Reality Pointer Profile

Gaze Provider settings are modified on the Main Camera object in the scene.

Platform support components (e.g., Windows Mixed Reality Device Manager) must be added to their corresponding service's data providers.

Interface and event mappings

Some events no longer have unique events and now contain a MixedRealityInputAction. These actions are specified in the Input Actions profile and mapped to specific controllers and platforms in the Controller Mapping profile. Events like OnInputDown should now check the MixedRealityInputAction type.

Related input systems:

HTK 2017 MRTK v2 Action Mapping
IControllerInputHandler IMixedRealityInputHandler<Vector2> Mapped to the touchpad or thumbstick
IControllerTouchpadHandler IMixedRealityInputHandler Mapped to the touchpad
IFocusable IMixedRealityFocusHandler
IGamePadHandler IMixedRealitySourceStateHandler
IHoldHandler IMixedRealityGestureHandler Mapped to hold in the Gestures Profile
IInputClickHandler IMixedRealityPointerHandler
IInputHandler IMixedRealityInputHandler Mapped to the controller’s buttons or hand tap
IManipulationHandler IMixedRealityGestureHandler<Vector3> Mapped to manipulation in the Gestures Profile
INavigationHandler IMixedRealityGestureHandler<Vector3> Mapped to navigation in the Gestures Profile
IPointerSpecificFocusable IMixedRealityFocusChangedHandler
ISelectHandler IMixedRealityInputHandler<float> Mapped to trigger position
ISourcePositionHandler IMixedRealityInputHandler<Vector3> or IMixedRealityInputHandler<MixedRealityPose> Mapped to pointer position or grip position
ISourceRotationHandler IMixedRealityInputHandler<Quaternion> or IMixedRealityInputHandler<MixedRealityPose> Mapped to pointer position or grip position
ISourceStateHandler IMixedRealitySourceStateHandler
IXboxControllerHandler IMixedRealityInputHandler and IMixedRealityInputHandler<Vector2> Mapped to the various controller buttons and thumbsticks

Camera

Methods HTK 2017 MRTK v2
Setup Delete MainCamera, add MixedRealityCameraParent / MixedRealityCamera / HoloLensCamera prefab to scene or use Mixed Reality Toolkit > Configure > Apply Mixed Reality Scene Settings menu item. MainCamera parented under MixedRealityPlayspace via Mixed Reality Toolkit > Add to Scene and Configure...
Configuration Camera settings configuration performed on prefab instance. Camera settings configured in the Mixed Reality Camera Profile.

Speech

Keyword recognition

Methods HTK 2017 MRTK v2
Setup Add a SpeechInputSource to your scene. Keyword service (e.g., Windows Speech Input Manager) must be added to the input system's data providers.
Configuration Recognized keywords are configured in the SpeechInputSource’s inspector. Keywords are configured in the Mixed Reality Speech Commands Profile.
Event handlers ISpeechHandler IMixedRealitySpeechHandler

Dictation

Methods HTK 2017 MRTK v2
Setup Add a DictationInputManager to your scene. Dictation support requires service (e.g., Windows Dictation Input Manager) to be added to the Input System's data providers.
Event handlers IDictationHandler IMixedRealityDictationHandlerIMixedRealitySpeechHandler

Spatial awareness / mapping

Mesh

Methods HTK 2017 MRTK v2
Setup Add the SpatialMapping prefab to the scene. Enable the Spatial Awareness System in the Configuration Profile and add a spatial observer (e.g., Windows Mixed Reality Spatial Mesh Observer) to the Spatial Awareness System's data providers.
Configuration Configure the scene instance in the inspector. Configure the settings on each spatial observer's profile.

Planes

Methods HTK 2017 MRTK v2
Setup Use the SurfaceMeshesToPlanes script. Not yet implemented.

Spatial understanding

Methods HTK 2017 MRTK v2
Setup Add the SpatialUnderstanding prefab to the scene. Not yet implemented.
Configuration Configure the scene instance in the inspector. Not yet implemented.

Boundary

Methods HTK 2017 MRTK v2
Setup Add the BoundaryManager script to the scene. Enable the Boundary System in the Configuration Profile.
Configuration Configure the scene instance in the inspector. Configure the settings in the Boundary Visualization profile.

Sharing

Methods HTK 2017 MRTK v2
Setup Sharing service: Add Sharing prefab to the scene. UNet: Use SharingWithUNET example. In-progress
Configuration Configure the scene instances in the inspector. In-progress

UX

Methods HTK 2017 MRTK v2
Button Interactable Objects Button
Interactable Interactable Objects Interactable
Bounding Box Bounding Box Bounding Box
App Bar App Bar App Bar
One Hand Manipulation (Grb and Move) HandDraggable Manipulation Handler
Two Hand Manipulation (Grab/Move/Rotate/Scale) TwoHandManipulatable Manipulation Handler
Keyboard Keyboard prefab System Keyboard
Tooltip Tooltip Tooltip
Object Collection Object Collection Object Collection
Solver Solver Solver

Utilities

Some Utilities have been reconciled as duplicates with the Solver system. Please file an issue if any of the scripts you need are missing.

HTK 2017 MRTK v2
Billboard Billboard
Tagalong RadialView or Orbital Solver
FixedAngularSize ConstantViewSize Solver
FpsDisplay Diagnostics System (in Configuration Profile)
NearFade Built-in to Mixed Reality Toolkit Standard shader