Valve Index and haptic feedback with OpenXR

I found a work-around if you’re building from source:

OpenXRInput.cpp

void FOpenXRInputPlugin::FOpenXRInput::SetHapticFeedbackValues(int32 ControllerId, int32 Hand, const FHapticFeedbackValues& Values)
...
HapticValue.duration = MaxFeedbackDuration/20.0; 
...

What’s happening is that the Haptic duration is always set to 2.5 seconds. On the Vive Wands they are continuing to rumble for this time.

This is a work-around as the stop haptics function (xrStopHapticFeedback) should work for the Vive OpenXR implementation and isn’t stopping the haptics.

1 Like