Search Issue Tracker

Fixed in 1.1-pre.5

Votes

0

Found in [Package]

preview 0.2.6 (f87413d748952de0150c36cea0bd3ee95e32f625)

Issue ID

1141705

Regression

No

[XR] [OpenVR] Controllers disconnected -> cancelled state on all controls -> null ref on underlying data

Package: Input System

-

Steps to Reproduce:
- Set up a Vive
- Editor 2019.1.0b8
- project is https://github.com/Unity-Technologies/InputSystem stable branch commit (f87413d748952de0150c36cea0bd3ee95e32f625)
- open scene Assets\QA\Tests\XRDeviceActions\Vive
- Set Window->Input Debugger->Options->LockInputToGame
- enter playmode
- disconnect a vive controller by holding its system button

Expected:
No errors

Observed:
Each control callback that is set up in this scene receives a "cancelled" event. Trying to read the value of the control at this point results in a null ref. This results in 2 errors in the console:

(1)
InvalidOperationException thrown during execution of 'Cancelled' callback on action 'Quaternion'
UnityEngine.Experimental.Input.LowLevel.<>c__DisplayClass6_0:<set_onUpdate>b__0(NativeInputUpdateType, NativeInputEventBuffer*)
UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate(NativeInputUpdateType, IntPtr) (at C:/buildslave/unity/build/Modules/Input/Private/Input.cs:112)

(2)
InvalidOperationException: Cannot query value of control '/OpenVRControllerViveControllerMVLeft/devicerotation' before 'OpenVRControllerViveControllerMVLeft' has been added to system!
UnityEngine.Experimental.Input.InputControl.ResolveDeviceIndex () (at Packages/com.unity.inputsystem/InputSystem/Controls/InputControl.cs:636)
UnityEngine.Experimental.Input.InputControl.get_currentStatePtr () (at Packages/com.unity.inputsystem/InputSystem/Controls/InputControl.cs:534)
UnityEngine.Experimental.Input.InputControl`1[TValue].ReadValue () (at Packages/com.unity.inputsystem/InputSystem/Controls/InputControl.cs:674)
QuaternionControlActionStatus.UpdateQuaternion (UnityEngine.Experimental.Input.InputAction+CallbackContext context) (at Assets/QA/Tests/XRDeviceActions/_SharedScripts/QuaternionControlActionStatus.cs:52)
UnityEngine.Experimental.Input.InputActionState.CallActionListeners (System.Int32 actionIndex, UnityEngine.Experimental.Input.InputActionMap actionMap, UnityEngine.Experimental.Input.InputActionPhase phase, UnityEngine.Experimental.Input.Utilities.InlinedArray`1[System.Action`1[UnityEngine.Experimental.Input.InputAction+CallbackContext]]& listeners) (at Packages/com.unity.inputsystem/InputSystem/Actions/InputActionState.cs:1702)
UnityEngine.Experimental.Input.LowLevel.<>c__DisplayClass6_0:<set_onUpdate>b__0(NativeInputUpdateType, NativeInputEventBuffer*)
UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate(NativeInputUpdateType, IntPtr) (at C:/buildslave/unity/build/Modules/Input/Private/Input.cs:112)

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.