Microsoft Mixed Reality Toolkit v2.0.0 RC2
Pre-releaseMRTK v2 Release Candidate 2 provides new stabilization fixes and a few additional features.
Getting started
To help you get started using MRTK v2, please see the Documentation Portal. This is the place to learn to use MRTK, and deep dive into MRTK architecture. We have prepared an initial set of documentation to get you started, but we would also like to hear from you if there's anything else you'd like to see added. If you are up to the challenge, help us improve the documentation by contributing your change! Learn how to contribute on our GitHub Wiki, please follow the documentation guide when you make changes.
What's new in RC2
Default HoloLens 2 Profile
We have added a new profile for HoloLens 2 development that includes some of the recommended MRTK configurations for best performance. #4780 #4442
Please note that this profile will only contain MRTK specific settings, you will still need to update Unity settings using recommendations in this doc.
Improved porting experience from HTK to MRTK v2
This change enables side-by-side import of HTK and MRTK to make porting to MRTK v2 easier.
Experimental Attribute
Some features the MRTK team works on appear to have a lot of initial value even if we haven’t fully fleshed out the details. For these types of features, we want the community to get a chance to see them early. Because they are early in the cycle, we label them as experimental to indicate that they are still evolving, and subject to change over time. See Experimental Features for more details
Hand-Attached menu (Experimental)
First experimental feature: a hand-attached menu. Please see #4532 for a description.
MRTK Standard Shader works with Unity’s Lightweight Render Pipeline
An upgrade path to allow developers to utilize Unity's Lightweight Scriptable Render Pipeline (LWRP) with MRTK shaders has been added. To perform the MRTK upgrade select: “Mixed Reality Toolkit -> Utilities -> Upgrade MRTK Standard Shader for Lightweight Render Pipeline” For more information please see #4311.
Input Action Handler
Added an input action handler interface to receive action events regardless of the input source. See #4475 for details.
MixedRealityServiceRegistry
Added the static MixedRealityServiceRegistry class to enable acquiring services when using the MixedRealityToolkit object or a custom service registrar. To acquire a service instance from the registry, call the TryGetService method.
IMixedRealityInputSystem inputSystem = null;
if (!MixedRealityServiceRegistry.TryGetService\<IMixedRealityInputSystem\>(out inputSystem))
{
// The input system has not been registered.
}
MixedRealityPlayspace
Replaced MixedRealityToolkit’s MixedRealityPlayspace property with a static MixedRealityPlayspace class to simplify accessing and transforming the play space in your applications.
IMixedRealityDataProviderAccess
Added the IMixedRealityDataProviderAccess interface to allow applications to request data provider instances from services which utilize data providers. In this release, the input and spatial awareness systems implement the IMixedRealityDataProviderAccess interface.
To acquire a data provider, use the following pattern.
IMixedRealitySpatialAwarenessMeshObserver meshObserver = (SpatialAwarenessSystem as
IMixedRealityDataProviderAccess)?.GetDataProvider\<IMixedRealitySpatialAwarenessMeshObserver\>();
if (meshObserver != null)
{
// Perform mesh observer operations.
}
RC1 to RC2 Upgrade Instructions
- Delete all MixedRealityToolkit folders from RC1: MixedRealityToolkit, MixedRealityToolkit.Examples, MixedRealityToolkit.Providers, MixedRealityToolkit.SDK, MixedRealityToolkit.Services
- Delete your Library folder
- Import the RC2 unity pagckages
- In your scenes, delete and re-add both the
MixedRealityToolkitandMixedRealityPlaySpaceobjects
RC1 to RC2 Upgrade Known Issues
Pressable buttons may need to be removed and added
After RC1 to RC2 upgrade, pressable buttons may have incorrect planes. To fix, remove and add back the pressable button component.
API Surface Changes
There have been changes to some API surfaces since the last release drop:
MixedRealityToolkit
Removed the MixedRealityPlayspace property. Please use the static MixedRealityPlayspace class to access and transform the play space.
IMixedRealityBoundarySystem
Added BoundaryVisualizationProfile property to enable easy access to the boundary system’s visualization profile.
IMixedRealityDiagnosticsSystem
Added DiagnosticsSystemProfile property to enable easy access to the diagnostics system’s profile.
IMixedRealityInputSystem
Added InputSystemProfile property to enable easy access to the input system’s profile.
IMixedRealitySpatialAwarenessSystem
Added SpatialAwarenessProfile property to enable easy access to the spatial awareness system’s profile.
The GetObserver and GetObservers methods have been marked as obsolete in RC2 and will be removed from a future release of the Mixed Reality Toolkit, To ensure future source code compatibility, please use the MixedRealityDataProviderAccess interface as documented in “What’s new in this update”.
MixedRealityInputSystem
Implements IMixedRealityDataProviderAccess to enable requesting data provider instances.
MixedRealitySpatialAwarenessSystem
Implements IMixedRealityDataProviderAccess to enable requesting data provider instances.
Other issues fixed
Please check out recent PRs for detailed list of changes.
Works with Unity 2018.4 LTS
Works with Unity 2019.1