Remote monitoring and control system for Unity VR experiments over LAN. Headsup enables researchers to observe experiment progress, capture screenshots, and manage VR applications from a desktop control panel during behavioral research sessions.
Headsup consists of two components:
- Unity Package: WebSocket server and screenshot capture system integrated into your VR application
- Python Client: Desktop control panel for monitoring and controlling connected VR headsets
The system enables real-time monitoring of experiment status, device information, and application logs while providing remote controls for experiment management.
Install the Unity package via Unity Package Manager:
https://github.com/Brain-Development-and-Disorders-Lab/headsup.git?path=/unity
See unity/README.md for complete integration instructions.
Install the Python client dependencies and run:
cd client
pip3 install websockets pillow
python3 main.pySee client/README.md for detailed usage instructions.
- Local network allowing peer-to-peer communication
- VR headset and client machine on the same network
- Known IP address of the VR headset (found in device network settings)
Enterprise or centrally-managed networks may restrict peer-to-peer communication. For reliable operation, consider using a dedicated router (e.g., TP-Link Archer AX1500) to create an isolated network for all devices.
Screenshot capture introduces brief delays in VR applications due to main-thread processing requirements. Continuous video streaming is not supported. For alternative streaming solutions, consider UnityRenderStreaming, though performance varies.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Henry Burgess <henry.burgess@wustl.edu>
