Skip to content

Latest commit

 

History

History
238 lines (152 loc) · 16 KB

Installation.md

File metadata and controls

238 lines (152 loc) · 16 KB
title description author ms.author ms.date ms.localizationpriority keywords
Installation Guide
Guide for installing MRTK-Unity in a new project.
hferrone
v-hferrone
09/9/2020
high
Unity,HoloLens, HoloLens 2, Mixed Reality, development, MRTK,

Installation guide

Caution

If you're new to MRTK or Mixed Reality development in Unity, we recommend you start at the beginning of our Unity development journey. The Unity development journey is the recommended starting point for MRTK, specifically created to walk you through the installation, core concepts, and usage of MRTK in Unity.

Prerequisites

To get started with the Mixed Reality Toolkit, you will need:

  • Visual Studio 2019

  • Unity 2018.4 or Unity 2019.4

    MRTK supports both IL2CPP and .NET scripting backends on Unity 2018.
    Starting from MRTK 2.5 Unity 2018.4.13f1 or later is strongly recommended for customers using Unity 2018. Earlier versions of Unity 2018.4 are still supported but now require extra steps to set up and to upgrade to Unity 2019.

  • Windows SDK 18362+.

    This is necessary if you are building a UWP app for WMR, HoloLens 1, or HoloLens 2. This is not necessary when building for OpenVR.

Add MRTK to your Unity project

Note

Users of Unity 2019.4 and newer, can use the Unity Package Manager to import MRTK. Please see Using the Unity Package Manager for more information.

Required

  1. Get the latest MRTK Unity packages
  2. Import MRTK packages into your Unity project
  3. Switch your Unity project to the target platform
  4. Add and configure MRTK with a new scene

Optional

1. Get the latest MRTK Unity packages

  1. Go to the MRTK release page.
  2. Under Assets, download:
    • Microsoft.MixedRealityToolkit.Unity.Foundation.unitypackage
    • (Optional) Microsoft.MixedRealityToolkit.Unity.Extensions.unitypackage
    • (Optional) Microsoft.MixedRealityToolkit.Unity.Examples.unitypackage
    • (Optional) Microsoft.MixedRealityToolkit.Unity.TestUtilities.unitypackage
    • (Required for version-to-version upgrades, Optional otherwise) Microsoft.MixedRealityToolkit.Unity.Tools.unitypackage

For details on the packages and their contents, please see MRTK Packages.

2. Import MRTK packages into your Unity project

  1. Create a new Unity project, or open an existing project. When creating a project, make sure to select "3D" as the template type.
  2. Import the Microsoft.MixedRealityToolkit.Unity.Foundation.unitypackage you downloaded by going into "Asset -> Import Package -> Custom Package", select the .unitypackage file, ensure all items to import are checked, and then select "Import".
  3. (Optional) Import the Microsoft.MixedRealityToolkit.Unity.Extensions.unitypackage following the same steps as the foundation package. The extensions package provides a set of useful optional components for the MRTK.
  4. (Optional) Import the Microsoft.MixedRealityToolkit.Unity.Examples.unitypackage following the same steps as above. The examples package is optional and contains useful demonstration scenes for current MRTK features. Note that the Examples package requires the Extensions package.
  5. (Required for version-to-version upgrades, Optional otherwise) Import the Microsoft.MixedRealityToolkit.Unity.Tools.unitypackage following the same steps as the foundation package. The tools package is optional and contains useful tools, such as the ExtensionServiceCreator, that enhance the MRTK developer experience.

Note

If you are using Unity 2018.4.12f1 or earlier, note you will experience compilation errors shown in the console. Go to Assets\MRTK\Providers\XRSDK\Microsoft.MixedReality.Toolkit.Providers.XRSDK.asmdef in the project window and remove the missing reference in the inspector. Repeat those steps with Assets\MRTK\Providers\Oculus\XRSDK\Microsoft.MixedReality.Toolkit.Providers.XRSDK.Oculus.asmdef and Assets\MRTK\Providers\WindowsMixedReality\XRSDK\Microsoft.MixedReality.Toolkit.Providers.XRSDK.WMR.asmdef. Note you must revert the changes by replacing those three asmdef files with original (i.e. unmodified) ones when upgrading to Unity 2019.

Note

Android and iOS development require additional package installations. For more information, see How to configure MRTK for iOS and Android. After importing the Foundation package, you may see a prompt similar to the following:

MRTK is attempting to set up your project for building Mixed Reality solutions by doing the following:

  • Enable XR Settings for your current platform (enabling the XR checkbox).
  • Force Text Serialization / Visible Meta files (recommended for Unity projects using source control).

Accepting these options is completely optional, but recommended.

Some prefabs and assets require TextMesh Pro, meaning you need the TextMesh Pro package installed and the assets in your project (Window -> TextMeshPro -> Import TMP Essential Resources). After you import TMP Essentials Resources, you need to reopen the scene to see changes. Double click the selected scene in the Project tab to see the TMP changes reflected in the scene.

3. Switch your Unity project to the target platform

With the packages imported, the next step is to select the correct platform for the application.

To create a HoloLens application, switch to the Universal Windows Platform:

  1. Open menu : File > Build Settings

  2. Select Universal Windows Platform in the Platform list

  3. Click the Switch Platform button

Note

The Mixed Reality Toolkit will prompt to apply recommended changes to the project when the platform is selected. Whenever the platform is switched, the appropriate settings will be checked and prompted, if necessary.

4. Add and configure MRTK with a new scene

  1. Create a new Unity project, or start a new scene in your current project.

  2. Make sure you have imported the MRTK packages (we recommend both Foundation and Examples, though Examples is not required) following the steps above.

  3. From the menu bar, select Mixed Reality Toolkit -> Add to Scene and Configure

    The inspector will now show the currently active MRTK configuration profile and the profile selection dropdown, where the default profile is already preselected. Profiles configure the behavior of MRTK core components and are described in more detail in the profiles article.

    [!NOTE]

    • If you're using Unity's XR SDK in Unity 2019.3 or later, you should choose the "DefaultXRSDKConfigurationProfile". This profile is set up with MRTK's XR SDK systems and providers, where needed.
    • If you're getting started on the HoloLens or HoloLens 2, you should choose the "DefaultHoloLens1ConfigurationProfile" or DefaultHoloLens2ConfigurationProfile" instead.
    • See the profiles for more information on the differences between DefaultMixedRealityToolkitConfigurationProfile and DefaultHoloLens2ConfigurationProfile.

    You will then see the following in your Scene hierarchy:

    Which contains the following:

    • Mixed Reality Toolkit - The toolkit itself, providing the central configuration entry point for the entire framework.
    • MixedRealityPlayspace - The parent object for the headset, which ensures the headset / controllers and other required systems are managed correctly in the scene.
    • The Main Camera is moved as a child to the Playspace - Which allows the playspace to manage the camera in conjunction with the SDKs.

    [!NOTE] While working in your scene, DO NOT move the Main Camera or the MixedRealityPlayspace. These are controlled by the active SDK and the MRTK respectively. Any settings you make to the Main Camera or MixedRealityPlayspace transforms will at best be overwritten, and at worst result in undefined behavior.

    The entire rig, Camera and Playspace, can be moved by adding another GameObject to the scene, and making it the parent of the MixedRealityPlayspace. When that object is moved, the Playspace and Camera will follow loosely behind, subject to the additional local transform changes made by the active SDK and the MRTK.

    Another option is to move the scene contents relative to the camera, although this can become problematic in advanced scenarios incorporating content such as Nav Meshes, terrains, or particle systems.

    Further discussion of AR/VR camera rigs can be found in Unity's documentation and elsewhere.

  4. Press Play and test out hand simulation by pressing the spacebar. You can open the keyboard shorcut reference by pressing CTRL+H key.

You are now ready to build and deploy to device! Follow the steps instructions at Build and Deploy MRTK.

Run the HandInteractionExamples scene in the Unity Editor

The Hand Interaction Examples scene is a great place to experience core spatial interactions and UX controls.

HandInteractionExample scene

To try the scene, do the following steps.

  1. Make sure to import Microsoft.MixedRealityToolkit.Unity.Examples.unitypackage package into your project.

  2. Open the HandInteractionExamples scene under Assets/MRTK/Examples/Demos/HandTracking/Scenes/HandInteractionExamples

  3. You may get a prompt asking you to import "TMP Essentials".

    If you get such a prompt, select the "Import TMP essentials" button. "TMP Essentials" refers to Text Mesh Pro plugin, which some of the MRTK examples use for improved text rendering. (See Text in Unity for more detailed information)

  4. Close the TMP dialog. After this you need to reload the scene. You can do this by double-clicking the scene in the Project tab.

  5. Uncheck (Unity 2019 or higher) or shrink the size of the 3d icons using the slider (Unity 2018) under the Gizmos tab in the Scene view to reduce scene clutter

    Gizmos

  6. Press the Play button.

Using the in-editor hand input simulation to test a scene

The in-editor input simulation allows you to test virtual object behavior given a specific type of input such as controllers (i.e. hands, motion controllers) or eyes.

You can open the keyboard shorcut reference by pressing CTRL+H key.

How to move around in the scene:

  • Use W/A/S/D keys to move the camera forward/left/back/right.
  • Use Q/E to move the camera vertically.
  • Press and hold the right mouse button to rotate the camera.

How to simulate hand input:

  • Press and hold the spacebar to enable the right hand.
  • While holding the space bar, move your mouse to move the hand.
  • Use the mouse scroll wheel to adjust the depth of the hand.
  • Click the left mouse button to simulate pinch gesture.
  • Use T/Y keys to make the hand persistent in the view.
  • Hold CTRL key and move the mouse to rotate the hand.

Have fun exploring the scene! You can learn more about the UI controls in the hand interaction examples guide. Also, read through input simulation docs to learn more about in-editor hand input simulation in MRTK.

Congratulations, you just used your first MRTK scene. Now onto creating your own experiences...

Getting started tutorials

If you are new to MRTK, or MR development, we recommend you check out the Getting started tutorials which uses MRTK v2.

Learn about the core building blocks of MRTK

Next steps

Here are some suggested next steps:

Getting help

If you run into issues caused by MRTK or otherwise have questions about how to do something, there are a few resources that can help:

Upgrading from the HoloToolkit (HTK/MRTK v1)

There is not a direct upgrade path from the HoloToolkit to Mixed Reality Toolkit v2 due to the rebuilt framework. However, it is possible to import the MRTK into your HoloToolkit project and migrate your implementation. For more information, see the HoloToolkit to Mixed Reality Toolkit Porting Guide

Getting started with Unity's XR SDK

Complete instructions and information can be found in our XR SDK getting started guide.