Search Issue Tracker

Active

Under Consideration for 2021.3.X, 2022.3.X, 6000.0.X, 6000.1.X, 6000.2.X, 6000.3.X

Votes

0

Found in

2021.3.45f1

2022.3.52f1

6000.0.26f1

6000.1.0a7

6000.2.0a1

6000.3.0a1

Issue ID

UUM-87499

Regression

No

[OpenXR] OpenXR plugin conflicts with InputSystem On-Screen Controls and InvalidOperationException is outputted when "Initialize XR On startup" is enabled

-

Steps to reproduce:
1. Open the attached user's project "InputSystemTest.zip"
2. Make sure "Initialize XR on Startup" is enabled
3. Enter Play Mode
4. Observe the Console errors

Expected results: no errors are outputted
Actual results: InvalidOperationException is outputted when "Initialize XR on Startup" is enabled

Reproducible with: 2021.3.45f1, 2022.3.52f1, 6000.0.26f1, 6000.1.0a7

OpenXR versions:  1.11.0, 1.13.1

Input System versions: 1.7.0, 1.11.2

 

Testing Environment: Windows 11 23H2, MacBook M3 Pro Sonoma 14.6

-According to user investigation they have figured out that OpenXRInteractionFeature for D-Pad interaction is registering control layout replacement for 'Dpad' with type UnityEngine.XR.OpenXR.Features.Interactions.DPadInteraction+DPad instead of UnityEngine.InputSystem.Controls.DpadControl in InputManager.RegisterControlLayout method. Even when this feature is disabled in OpenXR plugin settings, code is executed from OpenXRInput.RegisterFeatureLayouts.
-Error:
InvalidOperationException: Cannot instantiate device layout 'Dpad' as child of '/GamePad'; devices must be added at root
UnityEngine.InputSystem.Layouts.InputDeviceBuilder.InstantiateLayout (UnityEngine.InputSystem.Layouts.InputControlLayout layout, UnityEngine.InputSystem.Utilities.InternedString variants, UnityEngine.InputSystem.Utilities.InternedString name, UnityEngine.InputSystem.InputControl parent) (at ./Library/PackageCache/com.unity.inputsystem/InputSystem/Devices/InputDeviceBuilder.cs:254)
UnityEngine.InputSystem.Layouts.InputDeviceBuilder.InstantiateLayout (UnityEngine.InputSystem.Utilities.InternedString layout, UnityEngine.InputSystem.Utilities.InternedString variants, UnityEngine.InputSystem.Utilities.InternedString name, UnityEngine.InputSystem.InputControl parent) (at ./Library/PackageCache/com.unity.inputsystem/InputSystem/Devices/InputDeviceBuilder.cs:126)

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.