Create input delay for VR controllers?

Hi community!

I am currently working on a project where I need to be able to create artificial input delay on the VR (Vive) controllers. The outcome is to measure the impact of delay on gaming experiences. To be specific, the delay is the time between a player moves his/her controller to when it moves on their screen in game. Is there any way of doing this?

Best regards

If you are doing it on an own project it is actually pretty easy. Just define a custom event for each delayed input. Then from the original input event, call a Delay(x) and then call the corresponding custom Delayed Input events. Use the delayed input events for all your actions.

If you are seeking a way to do this with existing games (not yours), I have no idea how it could be done. Probably you need to plug into the low level event queue, which would require a good deal of hacking and hooking up to in memory code.

Thank you for the answer! It is my own project. However, the way I understand your answer is by simply using a delay node between the “on button down” event and the execution. My problem is that I need delay for the motion in world space; XYZ and rotation. Is it in any way possible to use the “Add controller pitch/roll/yaw input” for this?

Got it. What you can do is to use an array as input queue and store into it any position/rotation at time T-x. You then read those values and feed them into your logic at time T. In this way you are delaying those positional/rotational inputs by x seconds.

Thank you for the answer vr_marco! can you show us an example?