I encountered a bug sometimes happening with XR devices. When it hits, the XR controller is split into multiple devices, each receiving part of the input. For example one device receives tracking and the other device receives button input. However only one of these devices passes input through the Input system. In the following gif you can see that the left controller only receives spatial input while the right controller only receives button input.
This can be observed in the Input Debugger as well.
The four devices:
Here you can see both left controller devices. The left one receives button input while the right one receives spatial input:
There are multiple flavors of this bug.
A controller only receiving rotation data but no position and vice versa
One controller works completely but the other works only partly
…
It only happens from time to time, however it seems that on some days it happens 5 times in a row, then for weeks it does not happen at all. I observed it with both Unity 2019.4 + LegacyXR as well as Unity 2020 + OpenXR. It happens with HTC Vive as well as Oculus controllers. It can occur in editor and in build. Therefore I think this problem is rooted in the Input System itself.
Technology stack
Unity and XR backend either
Unity 2019.4.5f1 + Legacy XR (OpenVR and Oculus)
Unity 2020.3.11f1 + OpenXR (multiple versions)
Input System Version 1.1.0-preview.3 (I know this is preview but 1.0 had some bug and it has been in preview for half a year now)
Are you able to supply a sample project that you can submit via Help -> Report a bug ? If you do please respond with the issue # so we can check it out quicker. Also it would be helpful to see what bindings you are using for the controllers (for OpenXR in particular).
I’m pretty sure however that this info wont help you much because the problem 1. exists in both legacy XR and OpenXR and 2. is already present in the Input debugger.
Unfortunately, I’m not able to provide an example project right now. Because this bug is not consistently reproducible, I cannot even confirm that it occurs in a minimal example project. I think the bug should occur in the XR Interaction Example project from time to time.
You should probably be using left and right hand actions, especially for position and rotation and not one action and two bindings. The input system can only have one of the two bindings flowing data at the same time.