Skip to content

Commit 1a059d1

Browse files
committed
Update setup, configuration, and deployment docs
1 parent f85af18 commit 1a059d1

File tree

10 files changed

+113
-68
lines changed

10 files changed

+113
-68
lines changed

docs/mrtk3-overview/getting-started/setting-up/setup-new-project.md

Lines changed: 6 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -46,64 +46,29 @@ Open the Unity project and wait for Unity to finish importing the newly added pa
4646
1. The first message asks whether you want to enable the new input backend. Select **yes**.
4747
1. The second message asks whether you want to update XR InteractionLayerMask. Select **No Thanks**.
4848

49-
Unity might restart a few times during this process--wait for it to finish before proceeding.
49+
Unity might restart a few times during this process; wait for it to finish before proceeding.
5050

5151
### 4. Configure MRTK profile after import
5252

5353
Once imported, MRTK3 requires a profile to be set for the standalone target platform and each additional target platform.
5454

5555
1. Navigate to **Edit > Project Settings**.
5656
1. Under **Project Settings**, navigate to **MRTK3** and then switch to the standalone tab. Note that the profile is initially unspecified.
57-
1. Populate the field with the default MRTK profile that ships with the core package. You can type in the keyword "MRTKprofile" in the search bar of the project window; make sure you search in `All`. Alternatively, you can find the profile under `Packages/org.mixedrealitytoolkit.core/Configuration/Default Profiles/MRTKProfile.asset`.
57+
1. Populate the field with the default MRTK profile that ships with the core package. You can click the "Assign MRTK Default" button to auto-populate this field. Alternatively, you can find the profile under `Packages/org.mixedrealitytoolkit.core/Configuration/Default Profiles/MRTKProfile.asset`.
5858

5959
> [!NOTE]
6060
> Not all of the MRTK subsystems are shown in the screenshot below. The MRTK subsystems that you see may be different depending on the MRTK3 packages you've added to your project.
6161
62-
![assign the default MRTK profile](../../images/mrtk-profile.png)
62+
![Assign the default MRTK profile](../../images/mrtk-profile.png)
6363

6464
1. Switch to the tabs of other build target(s) you want to use (for example, UWP, Android) and check to see if the profile is assigned. If not, repeat the previous step on the current tab.
6565

6666
### 5. Configure OpenXR-related settings
6767

68-
Once imported, MRTK3 requires some configuration on OpenXR if you're targeting an XR device such as HoloLens 2 or Quest.
68+
Once imported, MRTK3 requires some configuration on OpenXR if you're targeting a specific XR device. Refer to the instructions on the following pages for platform-specific guidance.
6969

70-
> [!NOTE]
71-
> The following instructions apply to HoloLens 2 or WMR headsets. If you're targeting Quest, refer to the instructions on the [Quest deployment page](../../test-and-deploy/quest-deployment.md#deployment-prerequisites).
72-
73-
1. Navigate to **Edit > Project Settings**.
74-
75-
1. Under **Project Settings**, navigate to **XR Plug-in Management** and enable **OpenXR** under both the Standalone and UWP tabs. Under each tab, ensure that **Initialize XR on Startup** is selected and that the **Windows Mixed Reality feature group under Standalone** and the **Microsoft HoloLens feature group under UWP** are enabled.
76-
77-
> [!NOTE]
78-
> A yellow warning icon may appear after checking the **OpenXR** option. Click that icon to open the **OpenXR Project Validation** tool. Click **Fix all** and ignore the interaction profile issue that can't be auto-fixed. The profiles will be added in the step below.
79-
80-
For standalone:
81-
82-
[![Standalone XR Plug-in Management window](../../images/standalone-xr-plug-in-management.png)](../../images/standalone-xr-plug-in-management.png)
83-
84-
For UWP:
85-
86-
[![UWP XR Plug-in Management window](../../images/uwp-xr-plug-in-management.png)](../../images/uwp-xr-plug-in-management.png)
87-
88-
1. Under **Project Settings**, navigate to **XR Plug-in Management > OpenXR > Interaction Profiles** and add the following three profiles for UWP and Standalone:
89-
90-
- **Eye Gaze Interaction Profile**
91-
- **Microsoft Hand Interaction Profile**
92-
- **Microsoft Motion Controller Profile**
93-
94-
> [!NOTE]
95-
> You might need to use the **OpenXR Project Validation** tool to eliminate the yellow triangle. Some of the warnings may be resolved manually: <br/> 1. Under **Project Settings**, navigate to **Player > Resolution and Presentation**. Ensure that **Run in Background** is unchecked. <br/> 2. For UWP, under **Player > Publishing Settings > Capabilities**, ensure that **WebCam**, **Microphone**, **SpatialPerception**, and **GazeInput** are checked if these features are needed by the application. For more information about Window's App Capabilities see [App capability declarations](https://learn.microsoft.com/windows/uwp/packaging/app-capability-declarations).
96-
97-
For standalone:
98-
99-
[![Standalone OpenXR](../../images/standalone-openxr.png)](../../images/standalone-openxr.png)
100-
101-
For UWP:
102-
103-
[![UWP OpenXR](../../images/uwp-openxr.png)](../../images/uwp-openxr.png)
104-
105-
1. For HoloLens 2, we recommend that you set **Depth Submission Mode** to 16-bit in the settings above.
106-
1. For immersive headsets, you can use 24-bit depth submission. See the [Microsoft development docs for Unity](https://learn.microsoft.com/windows/mixed-reality/develop/unity/recommended-settings-for-unity?tabs=openxr#enable-depth-buffer-sharing) for more info.
70+
- [Deploy to a Quest device](../../test-and-deploy/quest-deployment.md#deployment-prerequisites)
71+
- [Deploy to HoloLens 2](../../test-and-deploy/hololens2-deployment.md#deployment-prerequisites)
10772

10873
### 6. Congratulations, the project setup is now finished
10974

75.8 KB
Loading
-317 KB
Loading
56.4 KB
Loading
-52.2 KB
Binary file not shown.
-39.6 KB
Loading
-36.3 KB
Loading
Lines changed: 73 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,90 @@
11
---
2-
title: Deploy an MRTK3 project to HoloLens 2
2+
title: Deploy to HoloLens 2
33
parent: Test and experience overview
4-
nav_order: 2
4+
nav_order: 4
55
---
66

7-
# Deploy an MRTK3 project to HoloLens 2
7+
# Deploy to HoloLens 2
88

99
This page describes how to deploy your Unity Project with MRTK3 onto a HoloLens 2.
1010

1111
> [!NOTE]
1212
> We strongly recommend using [Holographic remoting](streaming.md) for rapid iteration and testing on HoloLens 2, which allows for instant testing on the device without the need for compile + deploy.
1313
14-
## Deployment Pre-requisites
14+
## Deployment Prerequisites
1515

16-
- Add MRTK to your project and ensure your [project settings](../getting-started/setting-up/setup-new-project.md#5-configure-openxr-related-settings) are configured correctly to use the OpenXR pipeline and MRTK's feature set. **These features are required to deploy your project onto your HoloLens**.
16+
1. Add MRTK to your project and ensure your [project settings](../getting-started/setting-up/setup-new-project.md#5-configure-openxr-related-settings) are configured correctly to use the OpenXR pipeline and MRTK's feature set. **These features are required to deploy your project onto your HoloLens**.
17+
18+
> [!NOTE]
19+
> If starting from our [template project](../getting-started/setting-up/setup-template.md), these project settings should already be configured for you.
20+
21+
1. Navigate to **File > Build Settings**.
22+
23+
1. Under **Platform**, select **Universal Windows Platform**. Switch the platform to **Universal Windows Platform**, and wait for the operation to finish.
24+
25+
1. Navigate to **Edit > Project Settings**.
26+
27+
1. Under **Project Settings**, navigate to **XR Plug-in Management** and enable **OpenXR** under both the **Standalone** and **UWP** tabs. Under each tab, ensure that **Initialize XR on Startup** is selected and that the **Windows Mixed Reality feature group** under **Standalone** and the **Microsoft HoloLens feature group** under **UWP** are enabled.
28+
29+
> [!NOTE]
30+
> If you don't see these **feature groups**, ensure the **Mixed Reality OpenXR Plugin** is imported into your project.
31+
32+
For standalone:
33+
34+
[![Standalone XR Plug-in Management window](../images/standalone-xr-plug-in-management.png)](../images/standalone-xr-plug-in-management.png)
35+
36+
For UWP:
37+
38+
[![UWP XR Plug-in Management window](../images/uwp-xr-plug-in-management.png)](../images/uwp-xr-plug-in-management.png)
39+
40+
> [!NOTE]
41+
> A yellow warning icon may appear after checking the **OpenXR** option. Click that icon to open the **OpenXR Project Validation** tool. Click **Fix all** and ignore the interaction profile issue that can't be auto-fixed. The profiles will be added in the step below.
42+
43+
1. Under **Project Settings**, navigate to **XR Plug-in Management > OpenXR > Interaction Profiles** and ensure the following profiles are listed based on the MRTK features you'd like to use:
44+
45+
| Profile | MRTK |
46+
|---------|------|
47+
| Eye Gaze Interaction Profile | For eye tracking input |
48+
| Hand Interaction Profile | For articulated hand input |
49+
| Microsoft Motion Controller Profile | For controller input |
50+
51+
1. Under **Project Settings**, navigate to **XR Plug-in Management > OpenXR > OpenXR Feature Groups** and ensure the following features are checked under **All Features** based on the MRTK features you'd like to use (these are likely to be already checked after selecting the **feature groups** above):
52+
53+
| Feature | MRTK |
54+
|---------|------|
55+
| Hand Tracking Subsystem | For rendering the articulated hand joints |
56+
| Mixed Reality Features | For general HoloLens and WMR support |
57+
| Motion Controller Model | For rendering the motion controller models |
58+
59+
For standalone:
60+
61+
[![Standalone OpenXR](../images/standalone-openxr.png)](../images/standalone-openxr.png)
62+
63+
For UWP:
64+
65+
[![UWP OpenXR](../images/uwp-openxr.png)](../images/uwp-openxr.png)
66+
67+
> [!NOTE]
68+
> You can enable additional features as needed, but in-scene support for them will come from other packages, like AR Foundation.
69+
70+
1. For HoloLens 2, we recommend that you set **Depth Submission Mode** to 16-bit in the settings above.
71+
72+
1. For immersive headsets, you can use 24-bit depth submission. See the [Microsoft development docs for Unity](https://learn.microsoft.com/windows/mixed-reality/develop/unity/recommended-settings-for-unity?tabs=openxr#enable-depth-buffer-sharing) for more info.
73+
74+
1. A yellow warning icon or red error icon may appear during this process. Click that icon to open the **OpenXR Project Validation** tool. Select **Fix All** to address the issues. There may be several items to address. For more information about Windows App Capabilities, see [App capability declarations](https://learn.microsoft.com/windows/uwp/packaging/app-capability-declarations)
75+
76+
## Using platform controller models
1777

1878
> [!NOTE]
19-
> If starting from our [template project](../getting-started/setting-up/setup-template.md), these project settings should already be configured for you.
79+
> **Controller models** are stored in a format that is not natively supported by Unity. To use MRTK Controller Visualization on WMR, you will need to make sure you have the following package in your project:
80+
>
81+
> - [glTF importer](https://github.com/atteneder/glTFast) which enables the use of glTF asset files in Unity and allows the use of MRTK Controller Visualization on Quest
82+
>
83+
> If you started with the MRTK3 template project, this package has already been included in the project.
84+
> If not, an MRTK project validation rule will help you import the package.
2085
2186
## Deploying to Device
2287

23-
1. After you have the project configured, proceed to [Build the Unity Project](/windows/mixed-reality/develop/unity/build-and-deploy-to-hololens#build-the-unity-project).
88+
1. After you have the project configured, proceed to [Build the Unity Project](https://learn.microsoft.com/windows/mixed-reality/develop/unity/build-and-deploy-to-hololens#build-the-unity-project).
2489

25-
1. Once built, you'll need to deploy the project through [Visual Studio](/windows/mixed-reality/develop/advanced-concepts/using-visual-studio?tabs=hl2).
90+
1. Once built, you'll need to deploy the project through [Visual Studio](https://learn.microsoft.com/windows/mixed-reality/develop/advanced-concepts/using-visual-studio?tabs=hl2).
Lines changed: 31 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
2-
title: Deploy an MRTK3 project to a Quest device
2+
title: Deploy to a Quest device
33
parent: Test and experience overview
44
nav_order: 3
55
---
66

7-
# Deploy an MRTK3 project to a Quest device
7+
# Deploy to a Quest device
88

99
This page describes how to deploy your Unity Project with MRTK3 onto a Quest device.
1010

@@ -17,49 +17,64 @@ These steps are based around OpenXR as your runtime (i.e. XR plugin provider) as
1717

1818
1. Ensure that your project is ready to deploy on the Quest Device by following [these steps](https://developer.oculus.com/documentation/unity/book-unity-gsg/).
1919

20-
1. Ensure that [developer mode](https://developer.oculus.com/documentation/native/android/mobile-device-setup/#enable-developer-mode) is enabled on your device (you may need to [join a developer organization](https://developer.oculus.com/documentation/native/android/mobile-device-setup/#joining-or-creating-an-organization) first). Installing the Oculus ADB Drivers is optional.
20+
1. Ensure that [developer mode](https://developer.oculus.com/documentation/native/android/mobile-device-setup/#enable-developer-mode) is enabled on your device (you may need to [join a developer team](https://developers.meta.com/horizon/documentation/native/android/mobile-device-setup/#joining-or-creating-a-team) first). Installing the Oculus ADB Drivers is optional.
2121

2222
1. Add MRTK to your project and ensure that your [project settings](../getting-started/setting-up/setup-new-project.md#5-configure-openxr-related-settings) are configured correctly to use the OpenXR pipeline and MRTK's feature set. **These features are required to deploy your project onto your Quest device**. You may ignore project settings instructions regarding the UWP platform.
2323

24-
> [!NOTE]
25-
> If starting from our [template project](../getting-started/setting-up/setup-template.md), these project settings should already be configured for you.
24+
> [!NOTE]
25+
> If starting from our [template project](../getting-started/setting-up/setup-template.md), these project settings should already be configured for you.
2626
2727
1. Navigate to **File > Build Settings**.
2828

2929
1. Under **Platform**, select **Android**. Switch the platform to **Android**, and wait for the operation to finish.
3030

3131
1. Navigate to **Edit > Project Settings**.
3232

33-
1. Under **Project Settings**, navigate to **XR Plug-in Management** and enable **OpenXR** under the **Android** tab. Ensure that **Initialize XR on Startup** is selected and that no feature groups are enabled, and wait for the operation to finish.
33+
1. Under **Project Settings**, navigate to **XR Plug-in Management** and enable **OpenXR** under the **Standalone** and **Android** tabs. Ensure that **Initialize XR on Startup** is selected and that no feature groups are enabled, and wait for the operation to finish.
34+
35+
![Android XR Plug-in Management window](../images/android-xr-plug-in-management.png)
36+
37+
> [!NOTE]
38+
> A yellow warning icon may appear after checking the **OpenXR** option. Click that icon to open the **OpenXR Project Validation** tool. Click **Fix all** and ignore the interaction profile issue that can't be auto-fixed. The profiles will be added in the step below.
39+
40+
1. Under **Project Settings**, navigate to **XR Plug-in Management > OpenXR > Interaction Profiles** and ensure the following profiles are listed based on the MRTK features you'd like to use:
3441

35-
![Quest XR Plug-in Management window](../images/oculus-xr-plug-in-management.png)
42+
| Profile | MRTK |
43+
|---------|------|
44+
| Oculus Touch Controller Profile | For controller input |
45+
| Hand Interaction Profile | For articulated hand input |
3646

37-
1. Under **Project Settings**, navigate to **XR Plug-in Management > OpenXR > Interaction Profiles** and change it so only **Oculus Touch Controller Profile** is present.
47+
1. Under **Project Settings**, navigate to **XR Plug-in Management > OpenXR > OpenXR Feature Groups** and ensure the following features are checked under **All Features** based on the MRTK features you'd like to use:
3848

39-
1. Under **Project Settings**, navigate to **XR Plug-in Management > OpenXR > OpenXR Feature Groups** and ensure the following are checked under **All Features**.
49+
| Feature | MRTK |
50+
|---------|------|
51+
| Hand Tracking Subsystem | For rendering the articulated hand joints |
52+
| Meta Quest Support | For general Quest settings, like Android Manifest permissions |
53+
| Motion Controller Model | For rendering the Touch controller models |
4054

4155
> [!NOTE]
42-
> If you don't see **Hand Tracking** or **Motion Controller Model** under the **OpenXR Feature Groups** panel, please refer to Configure OpenXR-related settings section of [project settings](../getting-started/setting-up/setup-new-project.md#5-configure-openxr-related-settings).
56+
> If you don't see **Motion Controller Model** under the **OpenXR Feature Groups** panel, ensure the **Mixed Reality OpenXR Plugin** is imported into your project.
4357
4458
![Meta Quest OpenXR](../images/oculus-openxr.png)
4559

46-
1. Navigate to Project Validation, and fix any Red or yellow error/warning icons might appear during this process. Click the icon to open the **OpenXR Project Validation** tool and select **Fix All** to address the issues. There may be several items to address.
60+
> [!NOTE]
61+
> You can enable additional features as needed, but in-scene support for them will come from other packages, like AR Foundation.
62+
63+
1. A yellow warning icon or red error icon may appear during this process. Click that icon to open the **OpenXR Project Validation** tool. Select **Fix All** to address the issues. There may be several items to address.
4764

4865
1. If you plan on using the native keyboard, please refer to the [keyboard documentation](../../mrtk3-input/packages/input/System-keyboard.md#meta-quest-specific-setup) for a required `AndroidManifest.xml` modification.
4966

5067
## Using platform controller models
5168

5269
> [!NOTE]
53-
> **Controller models** are stored in a format that is not natively supported by Unity. To use MRTK Controller Visualization on Quest you will need to make sure you have the following packages in your project:
70+
> **Controller models** are stored in a format that is not natively supported by Unity. To use MRTK Controller Visualization on Quest, you will need to make sure you have the following packages in your project:
5471
>
5572
> - [glTF importer](https://github.com/atteneder/glTFast) which enables the use of glTF asset files in Unity and allows the use of MRTK Controller Visualization on Quest
5673
> - [KTX Package](https://github.com/atteneder/KtxUnity) which allows users to load KTX or Basis Universal texture files
5774
>
5875
> If you started with the MRTK3 template project, these packages have already been included in the project.
76+
> If not, an MRTK project validation rule will help you import the packages.
5977
6078
## Deploying to Device
6179

62-
> [!NOTE]
63-
> **Do not** follow the Configure Settings instructions on Oculus's documentation page. Their instructions require the use of the Oculus Integration SDK, and uses the Oculus XR plugin rather than the OpenXR plugin.
64-
65-
After you have the project configured, proceed to [Generate Build](https://developer.oculus.com/documentation/unity/unity-build/#generate-build). We recommend that you select **Build and Run**. This option lets Unity deploy your project directly to your Quest device.
80+
After you have the project configured, proceed to [generate, deploy, and run a build](https://developers.meta.com/horizon/documentation/unity/unity-build/#generate-deploy-and-run-a-build). We recommend that you select **Build and Run**. This option lets Unity deploy your project directly to your Quest device.

0 commit comments

Comments
 (0)