AetherVR is a tool to run VR games/applications on PC without a VR headset. The system tracks your head and hands using nothing but a webcam and translates them into virtual headset and controller inputs that are passed on to VR applications. This is done using a custom OpenXR runtime that tricks applications into thinking they are connected to actual VR hardware.
Note
The OpenXR runtime is incomplete and non-conformant and might crash with some applications
If you want to use AetherVR with standalone apps (e.g. from Steam), you can install it globally by setting AetherVR as the system OpenXR runtime. Note that this will replace your previous OpenXR runtime (if you had one) and that all OpenXR apps will use AetherVR from now on.
- Run
aethervr_tracker.exe
as administrator - Click
Set AetherVR as OpenXR Runtime
- Run your VR application
To use your previous OpenXR runtime, open the settings of your VR vendor's app and look for a button that says something like 'set myself as the active OpenXR runtime'.
If you don't want to change your OpenXR runtime globally, you can select AetherVR in Unity for use as the play mode OpenXR runtime.
- Make sure your graphics API is either Vulkan or D3D11
- Go to
Edit > Project Settings > XR Plug-in Management > OpenXR
- Click
Play Mode OpenXR Runtime
and selectOther
- Enter the path to
openxr_runtime.json
- Run
aethervr_tracker.exe
- Enter play mode
AetherVR can be used to play SteamVR games by using OpenComposite as a translation layer from OpenVR calls to OpenXR calls. You should be able to install AetherVR and OpenComposite on your system and it should just work, though crashes are to be expected.
The OpenXR runtime (aethervr.dll
) is a shared library written in the Banjo programming
language. It currently supports Windows and applications that use Vulkan or
D3D11 as their graphics API.
The runtime currently implements these extensions:
Extension | Version |
---|---|
XR_KHR_D3D11_enable | 9 |
XR_KHR_vulkan_enable2 | 2 |
XR_KHR_win32_convert_performance_counter_time | 1 |
The AetherVR tracker (aethervr_tracker.exe
) is an application written in Python that uses OpenCV, MediaPipe, and Qt.
It tracks landmarks of the users head and hands using MediaPipe, converts them to virtual headset and controller inputs,
and sends them to the OpenXR runtime over TCP.