To run an app on device as a standalone app (for HoloLens, Android, iOS, etc.), the build and deploy step needs to be executed in the unity project. Building and deploying an app that uses MRTK is just like building and deploying any other Unity app. There are no MRTK-specific instructions. Read below for detailed steps on how to build and deploy a Unity app for HoloLens. Learn more about building for other platforms at Publishing Builds.
The Mixed Reality Toolkit for Unity is an open source cross-platform development kit built to accelerate development of applications targeting Microsoft HoloLens, Windows Mixed Reality immersive (VR) headsets and OpenVR platform. Microsoft.MixedReality.Toolkit.Unity.Foundation.2.5.0.unitypackage Required if upgrading, optional otherwise Microsoft.MixedReality.Toolkit.Unity.Tools.2.5.0. There is a known compiler issue that impacts applications built for Microsoft HoloLens 2 using ARM64. This issue is addressed in the forthcoming 16.8 update for Visual Studio 2019. The Mixed Reality Toolkit is compatible with Unity 2018.4 or higher. This guide has been tested with MRTK v2.1.0. If you are using Unity 2017, see the integration guide for the HoloToolkit below. In the Build Settings of your project, choose UWP with HoloLens as target device and click Switch Platform. For technical questions, please use Stack Overflow, and tag your questions using either hololens or windows-mixed-reality. If you want to join in discussions, please do so in the HoloDevelopers Slack, which you can join by going to https. Unity + Holo Toolkit + Mapbox. Importing the Microsoft.MixedRealityToolkit.Unity.Tools package required to upgrade the buttons. If an icon is not found in the default icon set during migration, a custom icon set will be created in MixedRealityToolkit.Generated/CustomIconSets. A dialog will indicate that this has taken place. Creating a HoloLens Icon Font Asset.
Instructions on how to build and deploy for HoloLens 1 and HoloLens 2 (UWP) can be found at building your application to device.
Tip: When building for WMR, HoloLens 1, or HoloLens 2, it is recommended that the build settings 'Target SDK Version'and 'Minimum Platform Version' look like they do in the picture below:
The other settings can be different (for example, Build Configuration/Architecture/Build Type and others can alwaysbe changed inside the Visual Studio solution).
Make sure that the 'Target SDK Version' dropdown includes the option '10.0.18362.0' - if this is missing,the latest Windows SDK needs to be installed.
If a HoloLens app appears as a 2D panel on device, make sure the following settings have been configured in Unity 2019.3.x before deploying your UWP app:
If using the legacy XR:
If using the XR-Plugin:
If using Unity 2019.3.x, select ARM64 and not ARM as the build architecture in Visual Studio. With the default Unity settings in Unity 2019.3.x, a Unity app will not deploy to a HoloLens if ARM is selected due to a Unity bug. This can be tracked on Unity's issue tracker.
If the ARM architecture is required, navigate to Edit > Project Settings, Player, and under the Other Settings menu disable Graphics Jobs. Disabling Graphics Jobs will allow the app to deploy using the ARM build architecture for Unity 2019.3.x, but ARM64 is recommended.
The Windows Mixed Reality (WMR) headset can be used for Universal Windows Platform (UWP) and Standalone builds. A Standalone build for a WMR headset requires the following extra steps:
Unity's XR SDK also supports native WMR in Standalone builds, but does not require SteamVR or WMR plugin. These steps are required for Unity's legacy XR.
Open Steam and search for the Windows Mixed Reality Plugin
Select Launch for the Windows Mixed Reality for SteamVR Plugin.
SteamVR and the WMR plugin will launch and a new tracking status window for the WMR headset will appear.
For more information visit the Windows Mixed Reality Steam Documentation
In Unity, with your MRTK scene open, navigate to File > Build Settings
Build the scene
A new Unity executable will be created, to launch your app select the Unity executable in File Explorer.
MRTK is an amazing open-source toolkit that has been around since the HoloLens was first released. The toolkit wouldn't be where it is today without the hard work of our contributing developer community. Over the past three years, we've listened to the feedback of our developer community, and built MRTK v2 to take the biggest concerns into account.
MRTK for Unity is an open-source, cross-platform development kit for mixed reality applications. The toolkit provides a cross-platform input system, foundational components, and common building blocks for spatial interactions. MRTK version 2 intends to speed up application development for Microsoft HoloLens, Windows Mixed Reality immersive (VR) headsets, and OpenVR platform. The project is aimed at reducing barriers to entry, creating mixed reality applications, and contributing back to the community as we all grow.
Take a look at the MRTK's documentation on GitHub and get started with the installation guide.
We want to stress our commitment to these platform tools. In fact, we used MRTK version 2 to develop our inbox experiences, such as the out-of-box setup experience (OOBE) and our Mixed Reality Tips application. You can also expect to see new HoloLens 2 capabilities first exposed through MRTK because we believe it’s the best way to develop on our platform.
We have built it in a modular way, so you don't need to take every bit of the toolkit into your project. There are actually a few benefits to this. It keeps your project size smaller, and makes it easier to manage. Additionally, because it’s built with scriptable objects and is interface-driven, it’s also possible for you to replace the components that are included with your own, to support other services, systems, and platforms.
Speaking of other platforms, it has cross-platform support. And while this doesn’t mean every single platform is supported, we have made sure none of the toolkit code will break when you switch your build target to other platforms. The robustness and extensibility of the modular design sets your apps up to support multiple platforms, such as ARCore, ARKit, and OpenVR.
Working with mobile platforms, we constructed it with performance in mind. This is super important, and we wanted to ensure that the tools aren't going to work against you.