Jump to content

Getting PoseControl error after installing WaveXR package


Recommended Posts

Hi, 

I'm developing a VR project for the XR Elite in Unity. Initially, this project was designed for the VIVE Cosmos in which it works well. I understand that, in order for the build to work properly, we need to install Wave XR to our Unity project. So I did, and right after, I get the following error:

ArgumentException: Expected control 'pose' to be of type 'PoseControl' but is of type 'PoseControl' instead!
Parameter name: path
UnityEngine.InputSystem.InputControl.GetChildControl[TControl] (System.String path) (at Library/PackageCache/com.unity.inputsystem@1.7.0/InputSystem/Controls/InputControl.cs:677)
Wave.XR.ViveWaveSelfTracker.FinishSetup () (at Library/PackageCache/com.htc.upm.wave.xrsdk@dd738b632a/Runtime/ViveWaveSelfTracker.cs:163)
UnityEngine.InputSystem.InputControl.CallFinishSetupRecursive () (at Library/PackageCache/com.unity.inputsystem@1.7.0/InputSystem/Controls/InputControl.cs:1064)
UnityEngine.InputSystem.Layouts.InputDeviceBuilder.Setup (UnityEngine.InputSystem.Utilities.InternedString layout, UnityEngine.InputSystem.Utilities.InternedString variants, UnityEngine.InputSystem.Layouts.InputDeviceDescription deviceDescription) (at Library/PackageCache/com.unity.inputsystem@1.7.0/InputSystem/Devices/InputDeviceBuilder.cs:60)
UnityEngine.InputSystem.InputDevice.Build[TDevice] (System.String layoutName, System.String layoutVariants, UnityEngine.InputSystem.Layouts.InputDeviceDescription deviceDescription, System.Boolean noPrecompiledLayouts) (at Library/PackageCache/com.unity.inputsystem@1.7.0/InputSystem/Devices/InputDevice.cs:955)
UnityEngine.InputSystem.InputManager.RecreateDevice (UnityEngine.InputSystem.InputDevice oldDevice, UnityEngine.InputSystem.Utilities.InternedString newLayout) (at Library/PackageCache/com.unity.inputsystem@1.7.0/InputSystem/InputManager.cs:716)
UnityEngine.InputSystem.InputManager.RecreateDevicesUsingLayout (UnityEngine.InputSystem.Utilities.InternedString layout, System.Boolean isKnownToBeDeviceLayout) (at Library/PackageCache/com.unity.inputsystem@1.7.0/InputSystem/InputManager.cs:608)
UnityEngine.InputSystem.InputManager.PerformLayoutPostRegistration (UnityEngine.InputSystem.Utilities.InternedString layoutName, UnityEngine.InputSystem.Utilities.InlinedArray`1[TValue] baseLayouts, System.Boolean isReplacement, System.Boolean isKnownToBeDeviceLayout, System.Boolean isOverride) (at Library/PackageCache/com.unity.inputsystem@1.7.0/InputSystem/InputManager.cs:526)
UnityEngine.InputSystem.InputManager.RegisterControlLayout (System.String name, System.Type type) (at Library/PackageCache/com.unity.inputsystem@1.7.0/InputSystem/InputManager.cs:374)
UnityEngine.InputSystem.InputSystem.RegisterLayout (System.Type type, System.String name, System.Nullable`1[T] matches) (at Library/PackageCache/com.unity.inputsystem@1.7.0/InputSystem/InputSystem.cs:246)
UnityEngine.InputSystem.InputSystem.RegisterLayout[T] (System.String name, System.Nullable`1[T] matches) (at Library/PackageCache/com.unity.inputsystem@1.7.0/InputSystem/InputSystem.cs:267)
UnityEngine.XR.OpenXR.Input.OpenXRInput.RegisterLayouts () (at Library/PackageCache/com.unity.xr.openxr@1.5.3/Runtime/input/OpenXRInput.cs:141)
UnityEngine.XR.OpenXR.Input.OpenXRInput.<RegisterFeatureLayouts>g__OnFirstFrame|7_0 () (at Library/PackageCache/com.unity.xr.openxr@1.5.3/Runtime/input/OpenXRInput.cs:129)
UnityEditor.EditorApplication.Internal_CallUpdateFunctions () (at <6a5b55f2e18b419e9faedac06ac6af94>:0)

This causes that, when I hit Play in the editor, the system won't detect/track any of my controllers or headset. Also, after hitting play I get 3 similar errors like the following:

ArgumentException: Expected control 'pose' to be of type 'PoseControl' but is of type 'PoseControl' instead!
Parameter name: path
UnityEngine.InputSystem.InputControl.GetChildControl[TControl] (System.String path) (at Library/PackageCache/com.unity.inputsystem@1.7.0/InputSystem/Controls/InputControl.cs:677)
Wave.XR.ViveWaveSelfTracker.FinishSetup () (at Library/PackageCache/com.htc.upm.wave.xrsdk@dd738b632a/Runtime/ViveWaveSelfTracker.cs:163)
UnityEngine.InputSystem.InputControl.CallFinishSetupRecursive () (at Library/PackageCache/com.unity.inputsystem@1.7.0/InputSystem/Controls/InputControl.cs:1064)
UnityEngine.InputSystem.Layouts.InputDeviceBuilder.Setup (UnityEngine.InputSystem.Utilities.InternedString layout, UnityEngine.InputSystem.Utilities.InternedString variants, UnityEngine.InputSystem.Layouts.InputDeviceDescription deviceDescription) (at Library/PackageCache/com.unity.inputsystem@1.7.0/InputSystem/Devices/InputDeviceBuilder.cs:60)
UnityEngine.InputSystem.InputDevice.Build[TDevice] (System.String layoutName, System.String layoutVariants, UnityEngine.InputSystem.Layouts.InputDeviceDescription deviceDescription, System.Boolean noPrecompiledLayouts) (at Library/PackageCache/com.unity.inputsystem@1.7.0/InputSystem/Devices/InputDevice.cs:955)
UnityEngine.InputSystem.InputManager.RecreateDevice (UnityEngine.InputSystem.InputDevice oldDevice, UnityEngine.InputSystem.Utilities.InternedString newLayout) (at Library/PackageCache/com.unity.inputsystem@1.7.0/InputSystem/InputManager.cs:716)
UnityEngine.InputSystem.InputManager.RecreateDevicesUsingLayout (UnityEngine.InputSystem.Utilities.InternedString layout, System.Boolean isKnownToBeDeviceLayout) (at Library/PackageCache/com.unity.inputsystem@1.7.0/InputSystem/InputManager.cs:608)
UnityEngine.InputSystem.InputManager.PerformLayoutPostRegistration (UnityEngine.InputSystem.Utilities.InternedString layoutName, UnityEngine.InputSystem.Utilities.InlinedArray`1[TValue] baseLayouts, System.Boolean isReplacement, System.Boolean isKnownToBeDeviceLayout, System.Boolean isOverride) (at Library/PackageCache/com.unity.inputsystem@1.7.0/InputSystem/InputManager.cs:526)
UnityEngine.InputSystem.InputManager.RegisterControlLayout (System.String name, System.Type type) (at Library/PackageCache/com.unity.inputsystem@1.7.0/InputSystem/InputManager.cs:374)
UnityEngine.InputSystem.InputSystem.RegisterLayout (System.Type type, System.String name, System.Nullable`1[T] matches) (at Library/PackageCache/com.unity.inputsystem@1.7.0/InputSystem/InputSystem.cs:246)
Wave.XR.ViveWaveSelfTracker.Initialize () (at Library/PackageCache/com.htc.upm.wave.xrsdk@dd738b632a/Runtime/ViveWaveSelfTracker.cs:115)

Things that I've done:

- Updated Wave Installer to the last version using VIVE window in Unity

- Updated OpenXR Installer to the last version using VIVE window in Unity

- Checked "WaveXR" in XE Plug in Management for both Windows and Android

- Checked "Both" for the "Active Input Handling" parameter in Player> Other Settings

- Verified that my Interaction Profiles are active (currently using HTC Vive Controller Profile and VIVE Cosmos Controller Interaction).

I don't really know what else I could do so any help would be highly appreciated! 

Thank you

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...