Hi,
We’re using Unity’s XR Input and the OpenVR 1.0.5 package, and we’ve recently noticed that the triggers on our Vive controllers are behaving oddly.
They used to go from 0.0 (unpressed) to 0.8 (just before the physical click) and 1.0 (fully depressed, after the click). On two of our three PCs, they now jump immediately from 0.25 to 1.0 when the trigger is only slightly pressed.
The XR input is also reporting that the trigger button is clicked when the trigger value is 1, so we can’t use that as a workaround.
Here’s how we’re reading the values from the device:
UnityEngine.XR.InputDevice device;
float trigger;
bool triggerButton;
// ...
device.TryGetFeatureValue(CommonUsages.trigger, out trigger); // 0.0 to 0.2, then 1.0
device.TryGetFeatureValue(CommonUsages.triggerButton, out triggerButton); // Always true if trigger is 1.0
After much testing, the only difference we can see is that the correctly working PC is using an old version of the SteamVR app (1.5.16) and the broken ones are using the latest (1.16.10). We tried updating one of the broken ones to the latest SteamVR beta (1.7.1), but this hasn’t fixed the issue. We also tried different versions of Unity (2019.1.4, 2019.1.13 and 2019.2.0), but that made no difference.
I realise that this is likely to be a SteamVR bug rather than an issue with Unity, but wanted to see if anyone has any workarounds, or can suggest the best way to report the problem. Is it worth raising it via Unity’s bug reporting tool?
Thanks for any assistance.