Summary
When using SteamVR with Lighthouse tracking and controllers that are emulated as Oculus Touch (e.g. Quest controller render model), controller tracking works but avatar hands remain frozen / do not follow controllers.
In this setup, SteamVR Input skeleton reports poseIsValid=false (and/or activeBinding=false) consistently, so the renderer never sends HandState tracking.
Environment
- Resonite: (Steam / version if known)
- Renderer: Renderite Unity Renderer (SteamVR)
- Tracking: Lighthouse (base stations)
- Controllers: Oculus Touch emulation (render model like
oculus_quest2_controller_left/right)
- Emulation device/driver: (e.g. Shiftall GripVR + Quest2 profile)
- OS: Windows 11/10 (version if known)
Steps to reproduce
- Start SteamVR with Lighthouse tracking.
- Use a controller/emulation driver that exposes controllers as Oculus Touch (Quest render model).
- Launch Resonite in VR.
- Observe avatar hands.
Expected
Hands follow controllers (at least via controller-bound hand offsets if skeleton is unavailable).
Actual
Controllers track and buttons work, but hands do not move (hands appear frozen / desktop-like).
Investigation / suspected cause
In SteamVRDriver.UpdateHand, the renderer returns early when the skeleton action is not ready:
!skeleton.activeBinding || !skeleton.poseIsValid is true continuously in this Lighthouse + Touch-emulation setup.
- As a result,
HandState.isTracking stays false even though Generic.Pose is valid for the controller.
Proposed fix (renderer-side)
#32
Logs / evidence
(Optional) Attach Player.log showing poseIsValid=false while controller pose tracking is valid.
Player.log
Related Issues
Yellow-Dog-Man/Resonite-Issues#2606
Yellow-Dog-Man/Resonite-Issues#5429
Yellow-Dog-Man/Resonite-Issues#6206
Summary
When using SteamVR with Lighthouse tracking and controllers that are emulated as Oculus Touch (e.g. Quest controller render model), controller tracking works but avatar hands remain frozen / do not follow controllers.
In this setup, SteamVR Input skeleton reports
poseIsValid=false(and/oractiveBinding=false) consistently, so the renderer never sends HandState tracking.Environment
oculus_quest2_controller_left/right)Steps to reproduce
Expected
Hands follow controllers (at least via controller-bound hand offsets if skeleton is unavailable).
Actual
Controllers track and buttons work, but hands do not move (hands appear frozen / desktop-like).
Investigation / suspected cause
In
SteamVRDriver.UpdateHand, the renderer returns early when the skeleton action is not ready:!skeleton.activeBinding || !skeleton.poseIsValidis true continuously in this Lighthouse + Touch-emulation setup.HandState.isTrackingstays false even thoughGeneric.Poseis valid for the controller.Proposed fix (renderer-side)
#32
Logs / evidence
(Optional) Attach
Player.logshowingposeIsValid=falsewhile controller pose tracking is valid.Player.log
Related Issues
Yellow-Dog-Man/Resonite-Issues#2606
Yellow-Dog-Man/Resonite-Issues#5429
Yellow-Dog-Man/Resonite-Issues#6206