Skip to content

Commit 6ec5bb4

Browse files
author
David Kline
authored
Merge pull request #9426 from microsoft/prerelease/2.6.0_stabilization
Prerelease/2.6.0 stabilization
2 parents 7919493 + 94faab6 commit 6ec5bb4

File tree

2 files changed

+38
-28
lines changed

2 files changed

+38
-28
lines changed

Documentation/GettingStartedWithMRTKAndXRSDK.md

+13-14
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ XR SDK is Unity's [new XR pipeline in Unity 2019.3 and beyond](https://blogs.uni
44

55
## Prerequisites
66

7-
To get started with the Mixed Reality Toolkit, follow [the provided steps](WelcomeToMRTK.md) to add MRTK to a project.
7+
To get started with the Mixed Reality Toolkit, follow [the provided steps](Installation.md) to add MRTK to a project.
88

99
## Configuring Unity for the XR SDK pipeline
1010

1111
The XR SDK pipeline currently supports 3 platforms: Windows Mixed Reality, Oculus, and OpenXR. The sections below will cover the steps needed to configure XR SDK for each platform.
1212

13-
#### Windows Mixed Reality
13+
### Windows Mixed Reality
1414

1515
1. Go into Unity's Package Manager and install the Windows XR Plugin package, which adds support for Windows Mixed Reality on XR SDK. This will pull down a few dependency packages as well. Ensure that the following all successfully installed:
1616
1. XR Plugin Management
@@ -25,11 +25,11 @@ The XR SDK pipeline currently supports 3 platforms: Windows Mixed Reality, Oculu
2525

2626
![Plugin management](Images/XRSDK/PluginManagement.png)
2727

28-
#### Oculus
28+
### Oculus
2929

3030
1. Follow the [How to configure Oculus Quest in MRTK using the XR SDK pipeline](CrossPlatform/OculusQuestMRTK.md) guide to the end. The guide outlines the steps needed to configure both Unity and MRTK to use the XR SDK pipeline for the Oculus Quest.
3131

32-
#### OpenXR (Preview)
32+
### OpenXR (Preview)
3333

3434
> [!IMPORTANT]
3535
> OpenXR in Unity is only supported on Unity 2020.2 and higher.
@@ -47,26 +47,25 @@ The XR SDK pipeline currently supports 3 platforms: Windows Mixed Reality, Oculu
4747

4848
![Plugin management](Images/XRSDK/PluginManagementOpenXR.png)
4949

50-
> [!NOTE]
50+
> [!NOTE]
5151
> If you have a pre-existing project that is using MRTK from UPM, make sure that the following line is in the **link.xml** file located in the MixedRealityToolkit.Generated folder.
52-
52+
5353
`<assembly fullname = "Microsoft.MixedReality.Toolkit.Providers.OpenXR" preserve="all"/>`
5454

5555
> [!NOTE]
5656
> For the initial release of MRTK and OpenXR, only the HoloLens 2 articulated hands and Windows Mixed Reality motion controllers are natively supported. Support for additional hardware will be added in upcoming releases.
5757
58-
59-
### Configuring MRTK for the XR SDK pipeline
58+
## Configuring MRTK for the XR SDK pipeline
6059

6160
If using OpenXR, choose "DefaultOpenXRConfigurationProfile" as the active profile or clone it to make customizations.
6261

6362
If using other XR runtimes in the XR Plug-in Management configuration, like Windows Mixed Reality or Oculus, choose "DefaultXRSDKConfigurationProfile" as the active profile or clone it to make customizations.
6463

65-
These profiles are set up with the correct systems and providers, where needed.
64+
These profiles are set up with the correct systems and providers, where needed. See [the profiles docs](Profiles/Profiles.md#xr-sdk) for more information on profile and sample support with XR SDK.
6665

6766
To migrate an existing profile to XR SDK, the following services and data providers should be updated:
6867

69-
#### Camera
68+
### Camera
7069

7170
From [`WindowsMixedReality.WindowsMixedRealityCameraSettings`](xref:Microsoft.MixedReality.Toolkit.WindowsMixedReality.WindowsMixedRealityCameraSettings)
7271

@@ -80,7 +79,7 @@ to
8079

8180
![XR SDK camera settings](Images/XRSDK/CameraSystemXRSDK.png)
8281

83-
#### Input
82+
### Input
8483

8584
From [`WindowsMixedReality.Input.WindowsMixedRealityDeviceManager`](xref:Microsoft.MixedReality.Toolkit.WindowsMixedReality.Input.WindowsMixedRealityDeviceManager)
8685

@@ -100,7 +99,7 @@ __Windows Mixed Reality__:
10099

101100
![XR SDK input settings](Images/XRSDK/InputSystemWMRXRSDK.png)
102101

103-
#### Boundary
102+
### Boundary
104103

105104
From [`MixedRealityBoundarySystem`](xref:Microsoft.MixedReality.Toolkit.Boundary.MixedRealityBoundarySystem)
106105

@@ -114,7 +113,7 @@ to
114113

115114
![XR SDK boundary settings](Images/XRSDK/BoundarySystemXRSDK.png)
116115

117-
#### Spatial awareness
116+
### Spatial awareness
118117

119118
From [`WindowsMixedReality.SpatialAwareness.WindowsMixedRealitySpatialMeshObserver`](xref:Microsoft.MixedReality.Toolkit.WindowsMixedReality.SpatialAwareness.WindowsMixedRealitySpatialMeshObserver)
120119

@@ -128,7 +127,7 @@ to
128127

129128
![XR SDK spatial awareness settings](Images/XRSDK/SpatialAwarenessXRSDK.png)
130129

131-
#### Controller mappings
130+
### Controller mappings
132131

133132
If using custom controller mapping profiles, open one of them and run the Mixed Reality Toolkit -> Utilities -> Update -> Controller Mapping Profiles menu item to ensure the new XR SDK controller types are defined.
134133

Documentation/Profiles/Profiles.md

+25-14
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,25 @@
11
# Profiles
22

3-
One of the main ways that the MRTK is configured is through the many profiles available in the foundation package. The main [`MixedRealityToolkit`](xref:Microsoft.MixedReality.Toolkit.MixedRealityToolkit) object in a scene will have the active profile, which is essentially a ScriptableObject. The top level MRTK Configuration Profile contains sub-profile data for each core of the primary core systems, each of which are designed to configure the behavior of their corresponding sub-systems. Furthermore, these sub-profiles are also Scriptable Objects and thus can contain references to other profile objects one level below them. There is essentially an entire tree of connected profiles that make up the configuration information for how to initialize the MRTK sub-systems and features.
3+
One of the main ways that the MRTK is configured is through the profiles available in the foundation package. The main [`MixedRealityToolkit`](xref:Microsoft.MixedReality.Toolkit.MixedRealityToolkit) object in a scene will have the active profile, which is a ScriptableObject. The top level MRTK Configuration Profile contains sub-profile data for each core of the primary core systems, each of which are designed to configure the behavior of their corresponding subsystems. Furthermore, these sub-profiles are also ScriptableObjects and thus can contain references to other profile objects one level below them. There is essentially an entire tree of connected profiles that make up the configuration information for how to initialize the MRTK subsystems and features.
44

5-
For example, the Input system's behavior is governed by an input system profile, for example the `DefaultMixedRealityInputSystemProfile` (Assets/MRTK/SDK/Profiles). It's highly recommended to always modify the profile ScriptableObject assets via the in-editor inspector.
5+
For example, the input system's behavior is governed by an input system profile, like the `DefaultMixedRealityInputSystemProfile` (Assets/MRTK/SDK/Profiles).
66

77
<img src="../../Documentation/Images/Profiles/input_profile.png" width="650px" style="display:block;">
88
<sup>Profile Inspector</sup>
99

10-
> [!NOTE]
11-
> While it is intended that profiles can be swapped out at runtime, this [currently does not work](https://github.com/microsoft/MixedRealityToolkit-Unity/issues/4289)
10+
## Background
11+
12+
Profiles are mainly intended to support specific scenarios across multiple devices, which are handled via the data providers. This way, an app can be designed as device-agnosticly as possible and let the MRTK and the profile's data providers handle cross-platform support.
13+
14+
There are also profiles built around the input features of specific devices, such as the HoloLens 1 profile which defaults to GGV-style interactions.
15+
16+
## XR SDK
17+
18+
Currently, there are two profiles provided for XR SDK, `DefaultXRSDKConfigurationProfile` and `DefaultHoloLens2XRSDKConfigurationProfile`. As a result, not all samples scenes are fully supported due to scene- and scenario-specific configurations. Any samples that use `DefaultMixedRealityToolkitConfigurationProfile` and `DefaultHoloLens2ConfigurationProfile` _can_ be swapped over to their corresponding XR SDK profiles. If you're using OpenXR with XR SDK, use the `DefaultOpenXRConfigurationProfile` instead.
19+
20+
Additional work is being undertaken to ease configuration and support all sample scenes, allowing for both legacy XR and XR SDK to be configured side-by-side. See issue [#9419](https://github.com/microsoft/MixedRealityToolkit-Unity/issues/9419) for tracking.
21+
22+
See [Configuring MRTK for the XR SDK pipeline](../GettingStartedWithMRTKAndXRSDK.md#configuring-mrtk-for-the-xr-sdk-pipeline) for more information on converting profiles between legacy XR and XR SDK.
1223

1324
## Default profile
1425

@@ -27,21 +38,21 @@ of the default selected profile.
2738

2839
The key differences between the HoloLens2 profile and the Default Profile are:
2940

30-
**Disabled** Features:
41+
**Disabled** features:
3142

32-
- [Boundary System](../Boundary/BoundarySystemGettingStarted.md)
33-
- [Teleport System](../TeleportSystem/Overview.md)
34-
- [Spatial Awareness System](../SpatialAwareness/SpatialAwarenessGettingStarted.md)
43+
- [Boundary system](../Boundary/BoundarySystemGettingStarted.md)
44+
- [Teleport system](../TeleportSystem/Overview.md)
45+
- [Spatial awareness system](../SpatialAwareness/SpatialAwarenessGettingStarted.md)
3546
- [Hand mesh visualization](../Input/HandTracking.md) (due to performance overhead)
3647

37-
**Enabled** Systems:
48+
**Enabled** systems:
3849

39-
- The [Eye Tracking provider](../EyeTracking/EyeTracking_Main.md)
50+
- The [eye tracking provider](../EyeTracking/EyeTracking_Main.md)
4051
- Eye input simulation
4152

42-
Camera profile settings are set to match so that the editor quality and player quality are the same. This is different from the default camera profile where Opaque displays are set to a higher quality. This change means that in-editor quality will be lower, which will more closely match what will be rendered on the device.
43-
53+
Camera profile settings are set to match so that the editor quality and player quality are the same. This is different from the default camera profile where opaque displays are set to a higher quality. This change means that in-editor quality will be lower, which will more closely match what will be rendered on the device.
54+
4455
> [!NOTE]
4556
> The Spatial Awareness system is turned off by default based on client feedback - it is an interesting visualization to see
46-
initially but is typically turned off to avoid the visual distraction and the additional performance hit of
47-
having it on. The system can be re-enabled by following the [instructions here](../SpatialAwareness/SpatialAwarenessGettingStarted.md).
57+
> initially but is typically turned off to avoid the visual distraction and the additional performance hit of
58+
> having it on. The system can be re-enabled by following the [instructions here](../SpatialAwareness/SpatialAwarenessGettingStarted.md).

0 commit comments

Comments
 (0)