Simulate User Input from Meta Quest Touch Controllers
Updated: Aug 27, 2024
Overview
With this feature, you can provide realistic inputs to your application running in the simulator.
Set up
Connect your Quest device to a PC through a USB cable.
Install the apk in /path/to/MetaXRSimulator/data_forwarding_server on your device.
Make sure the device stays on by turning off the proximity sensor from MQDH.
Connecting
Launch the data forwarding server application in the headset. The app can be launched through MQDH or from the in-headset app panel (filter apps by Unknown sources). Make sure that the application is running and foregrounded, and leave the headset on the desk facing toward you.
In the simulator, click the Connect button and wait until the status indicator turns to Connected. Then, move your controllers around and confirm that the simulated controllers are moving as well.
If the connection fails:
In a command line window, run this command: adb forward tcp:33796 tcp:33796
Double-check that the headset application is running and foregrounded.
Controller calibration
Press A+B+X+Y simultaneously to reset controller poses.
The current physical controller poses will be used as the base poses for virtual controllers.
Alternatively, use the Calibrate Controllers button to reset controller poses after 3 seconds.
Disconnecting
Click the Disconnect button, and the status indicator should turn to Disconnected immediately. Confirm that the control of simulated controllers is given back to keyboard and mouse.
If disconnection takes too long, check if the headset application is running and foregrounded.
Tips
Consider turning off the boundary if it often pauses the headset application.
Ensure that the headset is facing toward your controllers so that they can be accurately tracked. If you are using a Quest 3, you can turn the controller’s top surface toward the headset when controller poses are off.