It appears that Resonite does not respect the poseIsValid, deviceIsConnected, and result values from OpenVR's DriverPose struct. If multiple valid controllers are connected, with one pair having poseIsValid and deviceIsConnected set to true, and result set to TrackingResult_Running_OK, and the other pair having poseIsValid and deviceIsConnected set to false, andresultset toTrackingResult_Uninitializaed`, Resonite does not appear to respect those flags, and may still try to use the inactive pair of controllers. This bug was noted by another user using the latest nightly build of ALVR, which includes a PR for VRChat hand tracking support, which creates two pairs of controllers so that one may have hand tracking, and the other may pass inputs without associated hand tracking data, with the pairs being mutually exclusive using the previously mentioned states, as documented by VRChat
To Reproduce
Use the latest ALVR nightly release on a headset which supports hand tracking
Under Settings > Headset, enable Hand skeleton and Use separate trackers under the Controllers submenu
Load into Resonite
Switch to hand tracking on your headset
Observe that hand tracking does not work
Switch back to controller tracking
Observe that the controllers no longer track
Expected behavior
If a device is present in OpenVR, but has an invalid pose, isn't connected, or has any result value that isn't TrackingResult_Running_OK, it should not be considered a valid controller, and an alternative should be found in its place
If the device currently in use becomes invalid, the game should search for a valid device to use instead
Describe the bug?
It appears that Resonite does not respect the
poseIsValid
,deviceIsConnected
, andresult
values from OpenVR's DriverPose struct. If multiple valid controllers are connected, with one pair havingposeIsValid
anddeviceIsConnected
set to true, andresult
set toTrackingResult_Running_OK
, and the other pair havingposeIsValid
anddeviceIsConnected set to false, and
resultset to
TrackingResult_Uninitializaed`, Resonite does not appear to respect those flags, and may still try to use the inactive pair of controllers. This bug was noted by another user using the latest nightly build of ALVR, which includes a PR for VRChat hand tracking support, which creates two pairs of controllers so that one may have hand tracking, and the other may pass inputs without associated hand tracking data, with the pairs being mutually exclusive using the previously mentioned states, as documented by VRChatTo Reproduce
Settings > Headset
, enableHand skeleton
andUse separate trackers
under theControllers
submenuExpected behavior
If a device is present in OpenVR, but has an invalid pose, isn't connected, or has any result value that isn't
TrackingResult_Running_OK
, it should not be considered a valid controller, and an alternative should be found in its place If the device currently in use becomes invalid, the game should search for a valid device to use insteadScreenshots
No response
Resonite Version Number
2024.7.25.1284
What Platforms does this occur on?
Windows
What headset if any do you use?
Quest 2
Log Files