Application doesn't start correctly with WMR and HP Reverb G2

Hi everyone,

I’ve been trying to build and start my Unity VR application with WMR and OpenXR but it doesn’t seem to start correctly. Under Unity playmode everything works fine and I can test my game but when I build the application for PC Standalone and try open it from my headset it starts as 2D flat screen and not as a VR app. I am using the default build settings and default openxr settings too.
Am I missing something ?

The player log file has a diagnostic output that should give you some information as to what may have gone wrong. Might be other error output in there as well with information. That’s where I would check first to see what might be up.

@joejo Thank you for your answer. I was clueless trying to change buildsettings and didn’t think about logs.
Find below my player.log file and my project settings. I think the application has a problem loading the Mixed Reality Tool Kit OpenXr plugin (in addition to unity openxr plugin) that I imported in my projet. Because I used MRTK to import OpenXr and HP reverb G2 input action map. Any clue on how to fix this ?

player.log

Mono path[0] = ‘C:/Users/Ludo/Desktop/STAGE OBS/OpenXRTemplate-standalone/OpenXRTemplate_Data/Managed’

Mono config path = ‘C:/Users/Ludo/Desktop/STAGE OBS/OpenXRTemplate-standalone/MonoBleedingEdge/etc’

Initialize engine version: 2020.3.11f1 (99c7afb366b3)

[Subsystems] Discovering subsystems at path C:/Users/Ludo/Desktop/STAGE OBS/OpenXRTemplate-standalone/OpenXRTemplate_Data/UnitySubsystems

[Subsystems] No descriptors matched for examples in UnitySubsystems/MicrosoftOpenXRPlugin/UnitySubsystemsManifest.json.

[Subsystems] 1 ‘inputs’ descriptors matched in UnitySubsystems/MicrosoftOpenXRPlugin/UnitySubsystemsManifest.json

[Subsystems] No descriptors matched for displays in UnitySubsystems/MicrosoftOpenXRPlugin/UnitySubsystemsManifest.json.

[Subsystems] 1 ‘meshings’ descriptors matched in UnitySubsystems/MicrosoftOpenXRPlugin/UnitySubsystemsManifest.json

[Subsystems] No descriptors matched for examples in UnitySubsystems/UnityOpenXR/UnitySubsystemsManifest.json.

[Subsystems] 1 ‘inputs’ descriptors matched in UnitySubsystems/UnityOpenXR/UnitySubsystemsManifest.json

[Subsystems] 1 ‘displays’ descriptors matched in UnitySubsystems/UnityOpenXR/UnitySubsystemsManifest.json

[Subsystems] No descriptors matched for meshings in UnitySubsystems/UnityOpenXR/UnitySubsystemsManifest.json.

GfxDevice: creating device client; threaded=1

[XR] [9212] [11:01:39.556][Info ] Available Layers: (0)

Direct3D:

Version: Direct3D 11.0 [level 11.1]

Renderer: NVIDIA GeForce RTX 3070 (ID=0x2484)

Vendor:

VRAM: 8043 MB

Driver: 27.21.14.5751

Begin MonoManager ReloadAssembly

- Completed reload, in 1.869 seconds

Fallback handler could not load library C:/Users/Ludo/Desktop/STAGE OBS/OpenXRTemplate-standalone/OpenXRTemplate_Data/Mono/MicrosoftOpenXRPlugin

Fallback handler could not load library C:/Users/Ludo/Desktop/STAGE OBS/OpenXRTemplate-standalone/OpenXRTemplate_Data/Mono/MicrosoftOpenXRPlugin.dll

Fallback handler could not load library C:/Users/Ludo/Desktop/STAGE OBS/OpenXRTemplate-standalone/OpenXRTemplate_Data/Mono/MicrosoftOpenXRPlugin

Fallback handler could not load library C:/Users/Ludo/Desktop/STAGE OBS/OpenXRTemplate-standalone/OpenXRTemplate_Data/Mono/libMicrosoftOpenXRPlugin

Fallback handler could not load library C:/Users/Ludo/Desktop/STAGE OBS/OpenXRTemplate-standalone/OpenXRTemplate_Data/Mono/libMicrosoftOpenXRPlugin.dll

Fallback handler could not load library C:/Users/Ludo/Desktop/STAGE OBS/OpenXRTemplate-standalone/OpenXRTemplate_Data/Mono/libMicrosoftOpenXRPlugin

XRGeneral Settings awakening…

D3D11 device created for Microsoft Media Foundation video decoding.

[Subsystems] OpenXR XR Plugin successfully registered Provider for OpenXR Display

[Subsystems] OpenXR XR Plugin successfully registered Provider for OpenXR Input

[Subsystems] OpenXR XR Plugin successfully registered Provider for OpenXR Display

Fallback handler could not load library C:/Users/Ludo/Desktop/STAGE OBS/OpenXRTemplate-standalone/OpenXRTemplate_Data/Mono/MicrosoftOpenXRPlugin

Fallback handler could not load library C:/Users/Ludo/Desktop/STAGE OBS/OpenXRTemplate-standalone/OpenXRTemplate_Data/Mono/MicrosoftOpenXRPlugin.dll

Fallback handler could not load library C:/Users/Ludo/Desktop/STAGE OBS/OpenXRTemplate-standalone/OpenXRTemplate_Data/Mono/MicrosoftOpenXRPlugin

Fallback handler could not load library C:/Users/Ludo/Desktop/STAGE OBS/OpenXRTemplate-standalone/OpenXRTemplate_Data/Mono/libMicrosoftOpenXRPlugin

Fallback handler could not load library C:/Users/Ludo/Desktop/STAGE OBS/OpenXRTemplate-standalone/OpenXRTemplate_Data/Mono/libMicrosoftOpenXRPlugin.dll

Fallback handler could not load library C:/Users/Ludo/Desktop/STAGE OBS/OpenXRTemplate-standalone/OpenXRTemplate_Data/Mono/libMicrosoftOpenXRPlugin

Fallback handler could not load library C:/Users/Ludo/Desktop/STAGE OBS/OpenXRTemplate-standalone/OpenXRTemplate_Data/Mono/MicrosoftOpenXRPlugin

Fallback handler could not load library C:/Users/Ludo/Desktop/STAGE OBS/OpenXRTemplate-standalone/OpenXRTemplate_Data/Mono/MicrosoftOpenXRPlugin.dll

Fallback handler could not load library C:/Users/Ludo/Desktop/STAGE OBS/OpenXRTemplate-standalone/OpenXRTemplate_Data/Mono/MicrosoftOpenXRPlugin

Fallback handler could not load library C:/Users/Ludo/Desktop/STAGE OBS/OpenXRTemplate-standalone/OpenXRTemplate_Data/Mono/libMicrosoftOpenXRPlugin

Fallback handler could not load library C:/Users/Ludo/Desktop/STAGE OBS/OpenXRTemplate-standalone/OpenXRTemplate_Data/Mono/libMicrosoftOpenXRPlugin.dll

Fallback handler could not load library C:/Users/Ludo/Desktop/STAGE OBS/OpenXRTemplate-standalone/OpenXRTemplate_Data/Mono/libMicrosoftOpenXRPlugin

DllNotFoundException: MicrosoftOpenXRPlugin

at (wrapper managed-to-native) Microsoft.MixedReality.OpenXR.NativeLib.HookGetInstanceProcAddr(Microsoft.MixedReality.OpenXR.NativeLibToken,intptr)

at Microsoft.MixedReality.OpenXR.OpenXRFeaturePlugin`1[TPlugin].HookGetInstanceProcAddr (System.IntPtr func) [0x00000] in <4609dd620b4b4cc889ef0cf619c9b3f8>:0

at UnityEngine.XR.OpenXR.Features.OpenXRFeature.HookGetInstanceProcAddr () [0x00045] in :0

at UnityEngine.XR.OpenXR.OpenXRLoaderBase.InitializeInternal () [0x000b0] in :0

at UnityEngine.XR.OpenXR.OpenXRLoaderBase.Initialize () [0x0003e] in :0

UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)

UnityEngine.DebugLogHandler:LogException(Exception, Object)

UnityEngine.Logger:LogException(Exception, Object)

UnityEngine.Debug:LogException(Exception)

UnityEngine.XR.OpenXR.OpenXRLoaderBase:Initialize()

UnityEngine.XR.Management.XRManagerSettings:InitializeLoaderSync()

UnityEngine.XR.Management.XRGeneralSettings:InitXRSDK()

UnityEngine.XR.Management.XRGeneralSettings:AttemptInitializeXRSDKOnLoad()

[XR] [9212] [11:01:42.005][Info ]

==== Start Unity OpenXR Diagnostic Report ====

[XR] [9212] [11:01:42.005][Info ] ==== Report Reason: System Shutdown ====

[XR] [9212] [11:01:42.005][Info ] ==== OpenXR Support Details ====

[XR] [9212] [11:01:42.005][Info ] OpenXR Runtime:

[XR] [9212] [11:01:42.005][Info ] UNKNOWN COMPANY, which is not a Unity supported partner

[XR] [9212] [11:01:42.005][Info ] Unity OpenXR Features:

[XR] [9212] [11:01:42.005][Info ] HPMixedRealityControllerProfile Standalone, MotionControllerFeaturePlugin Standalone: Microsoft, which is a Unity supported partner

[XR] [9212] [11:01:42.005][Info ] KHRSimpleControllerProfile Standalone: Unity

[XR] [9212] [11:01:42.005][Info ] Unity Support:

[XR] [9212] [11:01:42.005][Info ] Unity doesn’t support some aspects of the runtime and Unity OpenXR Features above. Please attempt to reproduce the issue with only Unity supported aspects before submitting an issue to Unity.

[XR] [9212] [11:01:42.005][Info ]

[XR] [9212] [11:01:42.005][Info ] ==== Last 20 Events ====

[XR] [9212] [11:01:42.005][Info ]

==== End Unity OpenXR Diagnostic Report ====

Initializing input.

New input system (experimental) initialized

Initialized touch support.

UnloadTime: 0.757400 ms

First thing I would suggest is to just create a new project, manually add OpenXR plugin, enable it and see if it will run correctly. That will at least narrow things down a bit to just the OpenXR support in Unity.

Just want to remove as many variables from the equation as possible.

Hello @joejo

I finaly got it to work !
I tried to do as you told me, so i created a new project and imported OpenXR and XR integration toolkit, BUILD it and it worked. The thing is with just that you don’t have the HP Reverb G2 Controller Profile. So I added the OpenXR and Input Manager with MRFT (as they tell you to do in the Microsoft documentation), BUILD it and it worked again ! So I checked what was different in my original project and the only thing is (I don’t know why) that I added the Motion Controller Model in the OpenXR project settings. I think this option only appears after you have used MRFT to import the input package. I disabled it (because I don’t need it) and now my original project works !

Awesome! Sorry that gave you such trouble.