Search Unity

HoloLens 2 app opens in 2D on ARM with new XR Plugin system

Discussion in 'AR/VR (XR) Discussion' started by eirikhollis, Jun 2, 2020.

  1. eirikhollis

    eirikhollis

    Joined:
    Aug 7, 2017
    Posts:
    5
    So I've tried to implement the new XR Plugin system, instead of using the old deprecated system. I followed the tutorials and available samples, and managed to get a simple tap gesture working in an ARM64 build.
    I am however bound by some plugins to use ARM instead of ARM64, and upon deploying to ARM, the app on the HoloLens 2 starts as a 2D panel.

    This does not happen in ARM64 where it opens correctly as 3D, and I'm unsure what the cause is. In my research, the closest I found was a Unity bug where deploying to ARM in HoloLens with Graphics Jobs enabled would open the app in 2D, but that setting is (and has always been) disabled in my project.

    I've tried on both 2019.3.15 and 2020.1.0b10.3837 with same results.

    Any idea what the issue might be?

    In Windows Mixed Reality settings window on XR Plug-In Management, the settings are as follows:
    Use Primary Window - Enabled
    Holographic Remoting - Disabled
    Depth Buffer Format - Depth Buffer 16 Bit
    Shared Depth Buffer - Enabled
     
  2. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    958
    Something is failing when starting the device on ARM. I can't tell you more with just the info you have here. Can you check the player log for the application and see what information is in there? If that doesn't tell you enough can you file a bug with a simple repro project and post the bug ID here?
     
  3. eirikhollis

    eirikhollis

    Joined:
    Aug 7, 2017
    Posts:
    5
    Found this:

    Plugins: Failed to load 'WindowsMRXRSDK' because one or more of its dependencies could not be loaded.
    (Filename: C:\buildslave\unity\build\Runtime/Misc/Plugins.cpp Line: 246)

    DllNotFoundException: Unable to load DLL 'WindowsMRXRSDK': The specified module could not be found.
    at UnityEngine.XR.WindowsMR.WindowsMRLoader.SetUserDefinedSettings (UnityEngine.XR.WindowsMR.WindowsMRLoader+UserDefinedSettings settings) [0x00000] in <00000000000000000000000000000000>:0
    at UnityEngine.XR.WindowsMR.WindowsMRLoader.Initialize () [0x00000] in <00000000000000000000000000000000>:0
    at UnityEngine.XR.Management.XRManagerSettings.InitializeLoaderSync () [0x00000] in <00000000000000000000000000000000>:0
    at UnityEngine.XR.Management.XRGeneralSettings.InitXRSDK () [0x00000] in <00000000000000000000000000000000>:0
    at UnityEngine.XR.Management.XRGeneralSettings.AttemptInitializeXRSDKOnLoad () [0x00000] in <00000000000000000000000000000000>:0

    Also tried with the new Input System Package, but same result.
     
  4. eirikhollis

    eirikhollis

    Joined:
    Aug 7, 2017
    Posts:
    5
  5. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    958
    My bad.. you are correct. I thought that 3.1.5 had ARM in it but it's 3.1.6. You can try to use the latest Preview build of WMR or wait for the official release. I don't have a date for that other than sometime soon.
     
  6. eirikhollis

    eirikhollis

    Joined:
    Aug 7, 2017
    Posts:
    5
    Changed from 3.1.5 to 3.1.6-preview.3 and can now confirm it works on ARM :)
     
    anattress likes this.
  7. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    958