Search Unity

Resolved HP Reverb G2 Controller (OpenXR)

Discussion in 'XR Interaction Toolkit and Input' started by eunited, Mar 2, 2021.

  1. eunited

    eunited

    Joined:
    Oct 29, 2020
    Posts:
    5
    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
     
  2. eunited

    eunited

    Joined:
    Oct 29, 2020
    Posts:
    5
    Is there some Hp Reverb G2 dev here?
     
  3. the_real_apoxol

    the_real_apoxol

    Unity Technologies

    Joined:
    Dec 18, 2020
    Posts:
    467
    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.
     
  4. yl-msft

    yl-msft

    Microsoft Employee

    Joined:
    Jul 24, 2020
    Posts:
    10
    Thanks for the report. We are investigating internally on this. Will ping back when we have more details.
     
  5. eunited

    eunited

    Joined:
    Oct 29, 2020
    Posts:
    5
    Thanks. For information i have try the new version 0.1.4 and dot not solve the problem
     
  6. eunited

    eunited

    Joined:
    Oct 29, 2020
    Posts:
    5
    The new 0.1.5 solve the issue. Thanks so much. @yl-msft
     
    fuzzy3d likes this.
  7. AlexandreDelan

    AlexandreDelan

    Joined:
    Oct 4, 2016
    Posts:
    16
    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

    2021-12-31 11_40_39-Window.png
     
  8. the_real_apoxol

    the_real_apoxol

    Unity Technologies

    Joined:
    Dec 18, 2020
    Posts:
    467
    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.
     
    AlexandreDelan likes this.
  9. AlexandreDelan

    AlexandreDelan

    Joined:
    Oct 4, 2016
    Posts:
    16
    Nice, did not see this. Thank you :)