microsoft / MixedRealityToolkit-Unity

This repository is for the legacy Mixed Reality Toolkit (MRTK) v2. For the latest version of the MRTK please visit https://github.com/MixedRealityToolkit/MixedRealityToolkit-Unity
https://aka.ms/mrtkdocs
MIT License
6k stars 2.12k forks source link

Confusing Documentation around Hololens 2 Holographic Remoting with Unity #10389

Closed A-Ivan closed 9 months ago

A-Ivan commented 2 years ago

Describe the issue

There are multiple tutorials on Holographic Remoting but they provide different information, this is confusing. Some of it is also outdated compared to the current version (MRTK 2.7.3) when using Unity 2020.3.x (in my case, Unity version 2020.3.24f1).

Existing doc link

  1. Set up Holographic Remoting - Unity 2020 + OpenXR: https://docs.microsoft.com/en-us/windows/mixed-reality/develop/unity/preview-and-debug-your-app?tabs=openxr#set-up-holographic-remoting

The instruction "Ensure the Windows Standalone tab is selected, find OpenXR and Windows Mixed Reality feature set in the list, and check their checkboxes." could be changed to "Ensure the Windows Standalone tab is selected, find OpenXR and Windows Mixed Reality feature group in the list, and check their checkboxes."

The instruction "Next, go to the Window menu, expand the XR submenu, and select OpenXR Editor Remoting." could be changed to "Next, go to the Window menu, expand the XR submenu, and select Holographic Remoting for Play Mode"

There are actually two ways of reaching the "Holographic Remoting for Play Mode" menu:

  1. Unity Menu > Mixed Reality > Remoting > "Holographic Remoting for Play Mode"
  2. Unity Menu > Window > XR > "Holographic Remoting for Play Mode".

Is there a need for having more than one way to access this menu? Different tutorials use a different way to reach this window. Might be good to standardize.

I would add the following instruction to the list (after step 5): "Project Settings > XR Plug-in Management > OpenXR > PC, Mac & Linux Standalone settings > OpenXR Feature Groups > All Features > select "Holographic Remoting for Play Mode"

Without this, when pressing Play in Unity there is no connection between Hololens and Unity.

  1. Holographic remoting: https://docs.microsoft.com/en-us/windows/mixed-reality/mrtk-unity/features/tools/holographic-remoting?view=mrtkunity-2021-05

The images used in the "Connecting to the HoloLens with Wi-Fi" section should be updated to reflect the current version of the "Holographic Remoting for Play Mode" Unity Window, as this Window, and therefore, these instructions are outdated.

The first instruction on this page is "In File > Build Settings, ensure that the project build type is set to Universal Windows Platform" but this build setting is not required in order to run Holographic Remoting via Unity's Play mode. I tested having PC as the build platform and it worked.

  1. Exercise - Create a Holographic Remoting PC application: https://docs.microsoft.com/en-us/learn/modules/pc-holographic-remoting-tutorials/5-exercise-create-holographic-remoting-pc-application

The instructions here seem to be outdated and they conflict with some of the previous ones, especially on needing to build an executable to get the remoting to work, this is not required.

Additional context

Here is my take on what the instructions could be (of course images like the ones used in the tutorials would make it better)

How to Set up Holographic Remoting (Unity Play mode) In Hololens

  1. Go to the Microsoft Store and install the Holographic Remoting Player app.
  2. Start the Holographic Remoting Player app.

In Unity

  1. Unity Menu > Edit > Project Settings > XR Plug-in Management
  2. *Ensure the Windows Standalone tab is selected, select "Initialize XR on Startup", "OpenXR", and "Windows Mixed Reality feature group"
  3. **Project Settings > XR Plug-in Management > OpenXR > PC, Mac & Linux Standalone settings > OpenXR Feature Groups > All Features > select "Holographic Remoting for Play Mode"
  4. Optional: Project Settings > XR Plug-in Management > OpenXR > PC, Mac & Linux Standalone settings > OpenXR Feature Groups > All Features > select "hand Tracking" and "Motion Controller Model"
  5. Unity Menu > Mixed Reality > Remoting > "Holographic Remoting for Play Mode" or Unity Menu > Window > XR > "Holographic Remoting for Play Mode"
  6. In the "Holographic Remoting for Play Mode" window, on the field "Remote Host Name", enter the Hololens IP Address (the IP address will appear in Hololens in the "Holographic Remoting Player" on the bottom as "Waiting for connection on IP_Address")
  7. Click "Enable Holographic Remoting for Play Mode"
  8. Click "Play"
  9. Holographic Remoting successfully performed

*Do not select "Holographic Remoting remote app feature group" **Do not select "Holographic Remoting remote app"

Note: There is no need to worry about specific Unity build settings or enabling OpenXR for the Universal Windows Platform Settings to specifically use Holographic Remoting via Unity Play mode (though those are useful for other things)

polar-kev commented 2 years ago

Thanks for your detailed writeup @A-Ivan. I'll have one of our tech writers take a look and see how we can incorporate your feedback.

A-Ivan commented 2 years ago

You're welcome @polar-kev, I hope it helps

IssueSyncBot commented 9 months ago

We appreciate your feedback and thank you for reporting this issue.

Microsoft Mixed Reality Toolkit version 2 (MRTK2) is currently in limited support. This means that Microsoft is only fixing high priority security issues. Unfortunately, this issue does not meet the necessary priority and will be closed. If you strongly feel that this issue deserves more attention, please open a new issue and explain why it is important.

Microsoft recommends that all new HoloLens 2 Unity applications use MRTK3 instead of MRTK2.

Please note that MRTK3 was released in August 2023. It features an all-new architecture for developing rich mixed reality experiences and has a minimum requirement of Unity 2021.3 LTS. For more information about MRTK3, please visit https://www.mixedrealitytoolkit.org.

Thank you for your continued support of the Mixed Reality Toolkit!