Mixed Reality Toolkit 3
MRTK3 is the third generation of Microsoft Mixed Reality Toolkit for Unity. It's a Microsoft-driven open source project to accelerate cross-platform mixed reality development in Unity. This new version is built on top of Unity's XR Management system and XR Interaction Toolkit. Here are some of its functions:
- Provides the cross-platform input system and building blocks for spatial interactions and UI.
- Enables rapid prototyping via in-editor simulation that allows you to see changes immediately.
- Operates as an extensible framework that allows developers the ability to swap out core components.
- Supports a wide range of platforms:
|OpenXR XR devices||Microsoft HoloLens 2
Meta Quest (experimental)
Windows Mixed Reality (experimental)
Oculus Rift on OpenXR (experimental)
Lenovo ThinkReality A3 (with Qualcomm Snapdragon Spaces - experimental)
|Windows||Traditional flat-screen desktop (experimental)|
|And more coming soon!|
Welcome to the MRTK3 Public Preview!
We hear your excitement, and we want to give you early access to our newest features and invite you to take part in shaping our future iterations through your feedback. MRTK3 is now in public preview, which represents our current snapshot in development. Some features are still missing, broken, or otherwise not at parity with MRTK 2.x. We appreciate your patience while we shape the future of MRTK and we look forward to your feedback and suggestions. We’re excited to give you a glimpse of what is to come!
- Built on Unity XR Interaction Toolkit and the Unity Input System.
- OpenXR focused.
- Open-ended and flexible interaction paradigms.
- Rewrote and redesigned most features and systems, from UX to input to subsystems.
- Zero per-frame memory allocation.
- Tuned for maximum performance on HoloLens 2 and other resource-constrained mobile platforms.
- New interaction models (gaze-pinch indirect manipulation).
- Updated Mixed Reality Design Language.
- Unity Canvas + 3D UX: production-grade dynamic auto-layout.
- Unified 2D & 3D input for gamepad, mouse, and accessibility support.
- Data binding for branding, theming, dynamic data, and complex lists.
- Low vision aids.
- Input assistance.
Long Term Support
- Minimum requirements: OpenXR, Unity 2021.3 LTS, Unity’s XR Interaction Toolkit.
What should this public preview be used for?
- Try out our newest features and build prototypes.
- Familiarize yourself with XRI and the Unity infrastructure which MRTK3 is built upon.
- Evaluate the new packaging strategy and the a la carte dependency model.
- Explore OpenXR compatibility and features.
- Learn about our new UX systems and visual design language.
What should this public preview not be used for?
- Migrating any existing projects from 2.x to MRTK3. The current API instability could make a migration effort frustrating.
- Writing production-ready code that expects a stable API.
- Evaluate performance for your applications (full release may have significant performance differences compared to the codebase today).
In previous versions of MRTK (HoloToolkit and MRTK v2), all packages were released as a complete set, marked with the same version number (ex: 2.8.0). Starting with MRTK3, each package will be individually versioned, following the Semantic Versioning 2.0.0 specification.
The '3' in MRTK3 is not a version number. It's an indicator of the generation of the underlying architecture, with HoloToolkit being generation one and MRTK v2.x being generation two.
Individual versioning will enable faster servicing while providing improved developer understanding of the magnitude of changes and reducing the number of packages needing to be updated to acquire the desired fix(es).
For example, if a non-breaking new feature is added to the UX core package that contains the logic for user interface behavior, the minor version number will increase (from 3.0.x to 3.1.0). Since the change is non-breaking, the UX components package, which depends upon UX core, is not required to be updated.
As a result of this change, there isn't a unified MRTK3 product version.
To help identify specific packages and their versions, MRTK3 provides an "about" dialog that lists the relevant packages included in the project. To access this dialog, in Unity on the menu bar, select
Mixed Reality >
MRTK3 is currently in public preview and we don't recommend it for use in production projects. We appreciate your testing, issues and feedback while the team works towards general availability (GA).
Early preview packages
Some parts of MRTK3 are at earlier stages of the development process than others. Early preview packages can be identified in the Mixed Reality Feature Tool and Unity Package Manager by the
Early Preview designation in their names.
As of June 2022, the following components are considered to be in early preview.
|Data Binding and Theming||com.microsoft.mrtk.data|
The MRTK team is fully committed to releasing this functionality. It's important to note that the packages may not contain the complete feature we're planning to release; they may undergo major, breaking architectural changes before release.
We very much encourage you to provide any and all feedback to help shape the final form of these early preview features.
UX building blocks
A volumetric button optimized for a wide range of input modalities, including poking, gaze-pinch, ray interactions, mouse click, and gamepad.
Intent feedback and precision manipulation affordances.
Move and manipulate objects with one or two hands with a wide variety of input modalities.
A hand-anchored collection of UX controls for easy access to quick actions.
Collection of UX controls that can be manipulated, pinned, and set to follow the user.
Adjust a value along a one-dimensional axis.
Various object positioning behaviors such as tag-along, body-lock, constant view size and surface magnetism
Prompt for user action.
A flat panel for displaying large-format interfaces and content.
Figma Toolkit for MRTK3 Preview
The prerelease of Figma Toolkit for MRTK3 includes UI components based on Microsoft's new Mixed Reality Design Language introduced in MRTK3. You can use the 2D representations of the components in the design process for creating UI layouts and storyboards.
Session videos from Microsoft Mixed Reality Dev Days 2022
The roadmap from public preview to general availability is detailed in the following table.
|Public Preview||June 8, 2022|
|Preview updates||Approximately every 2-4 weeks until GA|
|General Availability||February 2023|