HP Reverb G2 Controller (OpenXR)

Hello,

No certain if the cause is from unity or microsoft plugin but i cannot make the Hp Reverb G2 controler work with openXR.

I always get this error message :

Could not create a device for 'HP HP Reverb G2 Controller (OpenXR) (XRInputV1)' (exception: System.InvalidOperationException: Cannot find parent 'devicepose' of control 'devicepose/istracked' in layout 'XRInputV1::HP::HPReverbG2ControllerOpenXR'
at UnityEngine.InputSystem.Layouts.InputDeviceBuilder.InsertChildControl (UnityEngine.InputSystem.Layouts.InputControlLayout layout, UnityEngine.InputSystem.Utilities.InternedString variant, UnityEngine.InputSystem.InputControl parent, System.Boolean& haveChildrenUsingStateFromOtherControls, UnityEngine.InputSystem.Layouts.InputControlLayout+ControlItem& controlItem) [0x00126] in C:\Users\x\Vr\Library\PackageCache\com.unity.inputsystem@1.0.2\InputSystem\Devices\InputDeviceBuilder.cs:557
at UnityEngine.InputSystem.Layouts.InputDeviceBuilder.AddChildControlIfMissing (UnityEngine.InputSystem.Layouts.InputControlLayout layout, UnityEngine.InputSystem.Utilities.InternedString variants, UnityEngine.InputSystem.InputControl parent, System.Boolean& haveChildrenUsingStateFromOtherControls, UnityEngine.InputSystem.Layouts.InputControlLayout+ControlItem& controlItem) [0x00018] in C:\Users\x\Vr\Library\PackageCache\com.unity.inputsystem@1.0.2\InputSystem\Devices\InputDeviceBuilder.cs:508
at UnityEngine.InputSystem.Layouts.InputDeviceBuilder.AddChildControls (UnityEngine.InputSystem.Layouts.InputControlLayout layout, UnityEngine.InputSystem.Utilities.InternedString variants, UnityEngine.InputSystem.InputControl parent, System.Boolean& haveChildrenUsingStateFromOtherControls) [0x00255] in C:\Users\x\Vr\Library\PackageCache\com.unity.inputsystem@1.0.2\InputSystem\Devices\InputDeviceBuilder.cs:337
at UnityEngine.InputSystem.Layouts.InputDeviceBuilder.InstantiateLayout (UnityEngine.InputSystem.Layouts.InputControlLayout layout, UnityEngine.InputSystem.Utilities.InternedString variants, UnityEngine.InputSystem.Utilities.InternedString name, UnityEngine.InputSystem.InputControl parent) [0x001f9] in C:\Users\x\Vr\Library\PackageCache\com.unity.inputsystem@1.0.2\InputSystem\Devices\InputDeviceBuilder.cs:193
at UnityEngine.InputSystem.Layouts.InputDeviceBuilder.InstantiateLayout (UnityEngine.InputSystem.Utilities.InternedString layout, UnityEngine.InputSystem.Utilities.InternedString variants, UnityEngine.InputSystem.Utilities.InternedString name, UnityEngine.InputSystem.InputControl parent) [0x0000d] in C:\Users\x\Vr\Library\PackageCache\com.unity.inputsystem@1.0.2\InputSystem\Devices\InputDeviceBuilder.cs:102
at UnityEngine.InputSystem.Layouts.InputDeviceBuilder.Setup (UnityEngine.InputSystem.Utilities.InternedString layout, UnityEngine.InputSystem.Utilities.InternedString variants, UnityEngine.InputSystem.Layouts.InputDeviceDescription deviceDescription) [0x0000b] in C:\Users\x\Vr\Library\PackageCache\com.unity.inputsystem@1.0.2\InputSystem\Devices\InputDeviceBuilder.cs:51
at UnityEngine.InputSystem.InputDevice.Build[TDevice] (System.String layoutName, System.String layoutVariants, UnityEngine.InputSystem.Layouts.InputDeviceDescription deviceDescription) [0x00042] in C:\Users\x\Vr\Library\PackageCache\com.unity.inputsystem@1.0.2\InputSystem\Devices\InputDevice.cs:678
at UnityEngine.InputSystem.InputManager.AddDevice (UnityEngine.InputSystem.Utilities.InternedString layout, System.Int32 deviceId, System.String deviceName, UnityEngine.InputSystem.Layouts.InputDeviceDescription deviceDescription, UnityEngine.InputSystem.InputDevice+DeviceFlags deviceFlags, UnityEngine.InputSystem.Utilities.InternedString variants) [0x00000] in C:\Users\x\Vr\Library\PackageCache\com.unity.inputsystem@1.0.2\InputSystem\InputManager.cs:1033
at UnityEngine.InputSystem.InputManager.AddDevice (UnityEngine.InputSystem.Layouts.InputDeviceDescription description, System.Boolean throwIfNoLayoutFound, System.String deviceName, System.Int32 deviceId, UnityEngine.InputSystem.InputDevice+DeviceFlags deviceFlags) [0x0005d] in C:\Users\x\Vr\Library\PackageCache\com.unity.inputsystem@1.0.2\InputSystem\InputManager.cs:1164
at UnityEngine.InputSystem.InputManager.OnNativeDeviceDiscovered (System.Int32 deviceId, System.String deviceDescriptor) [0x000a0] in C:\Users\x\Vr\Library\PackageCache\com.unity.inputsystem@1.0.2\InputSystem\InputManager.cs:2069 )
UnityEngine.InputSystem.InputManager:OnNativeDeviceDiscovered (int,string)
UnityEngineInternal.Input.NativeInputSystem:NotifyDeviceDiscovered (int,string)

Scene Environement : Only a simple XR rig
Unity Version : 2020.2.6f1
openXR plugin : 1.0.2
Mixed reality openXr Plugin : 0.1.3

Is there some Hp Reverb G2 dev here?

There is a new version of the mixed reality openxr plugin (0.1.4). Give that a try and see if that fixes your issue.

Thanks for the report. We are investigating internally on this. Will ping back when we have more details.

Thanks. For information i have try the new version 0.1.4 and dot not solve the problem

The new 0.1.5 solve the issue. Thanks so much. @yl-msft

1 Like

Hello @yl-msft ,

I’m also using Hp Reverb G2. Controllers G2 are not recognized in Unity (G1 work fine).
no issue with G2 headset.

Unity version 2021.2.7
openXR plugin 1.3.1

I do not use Mixed Reality functionality. My projet is only VR and with G1 controllers I have no issue.

Following the reading of this thread, I try to install Mixed Reality OpenXR Plugin 1.2.1 thanks to the Mixed Reality Feature Tool (not easy to find by the way).

I can see that I have now more openXR Feature Groups.

My question are simple, as I’m not doing Mixed Reality, do I really need to install Mixed Reality OpenXR Plugin in order to make my G2 controllers recognized.
And what are the minimum feature do I need to check to use the G2 controllers (in screenshot).

I use Microsoft Motion Controller Profile as Interaction profile in Unity OpenXR Settings.

Thanks you

If you have the microsoft packages installed which it appears you do then there should be a G2 Reverb interaction profile that you can add with the plus button.

1 Like

Nice, did not see this. Thank you :slight_smile: