OpenXR API layer for recording head tracking data and diagnostics.
Records VR headset position/rotation data for tracking quality analysis and comparison between different headsets.
- Configure the project:
.\configure.ps1
- Open
build-x64\xr_tracking_diagnostics.slnxin Visual Studio - Select Debug or Release configuration
- Press Ctrl+Shift+B to build
.\build.ps1 -Config ReleaseRight-click quick_reinstall.ps1 → Run with PowerShell (auto-elevates to Administrator)
Installs to C:\ProgramData\XRTrackingDiag\ and registers with the OpenXR runtime.
Works with OpenXR applications only (not SteamVR/OpenVR games).
- Launch an OpenXR app
- Listen for double beep - confirms layer loaded
- Press F9 together to start/stop recording
- High beep = recording started, Low beep = recording stopped
- OpenXR native games (Microsoft Flight Simulator, DCS World, Elite Dangerous)
- OpenVR games through OpenComposite
- Native SteamVR games (Half-Life: Alyx, Beat Saber) - these use OpenVR API, not OpenXR
- Recordings:
%USERPROFILE%\Documents\XRTrack - Logs:
%TEMP%\xr_tracking_layer.log
Compare tracking data between headsets:
python tools\visualize.pySelects CSV files via Windows dialog and opens an interactive HTML report in your browser.
- No beep in SteamVR games - those use OpenVR, not OpenXR
- Check logs:
notepad $env:TEMP\xr_tracking_layer.log
.\scripts\uninstall.ps1To create a distributable zip file:
.\package-release.ps1 -Config ReleaseCreates release\XRTrackingDiag-v1.0.0-Release.zip containing:
- DLL and manifest
- Install/uninstall scripts
- Visualization tool
- README
Users can extract and run install.ps1 (as Administrator) to install.