Rusty XR Companion

Windows and Android companion utilities for public Quest development workflows.

Diagnostics

Diagnostics are designed to be useful on another Windows machine without a source checkout.


dotnet run --project src/RustyXr.Companion.Cli -- doctor --snapshots --out .\artifacts\diagnostics

The command writes:

The report includes:

FFprobe discovery

Catalog verification writes a separate bundle:


dotnet run --project src/RustyXr.Companion.Cli -- catalog verify --path samples\quest-session-kit\apk-catalog.example.json --app rusty-xr-quest-minimal --serial <serial> --launch --device-profile perf-smoke-test --out .\artifacts\verify

That bundle includes before/after snapshots, target process state, foreground activity matching, gfxinfo, meminfo, command results, and notes.

The environment-depth-diagnostics runtime profile adds OpenXR environment depth validation. It requires a Rusty XR environment depth status log line, checks that the provider is running, confirms acquired frames and unique capture timestamps, records observed depth cadence and acquire CPU cost, and requires the per-eye grayscale depth visualizer draw state. Confidence is reported explicitly so a run can distinguish available confidence data from a runtime/API path that exposes no confidence payload.

environment-depth-mesh-overlay and environment-depth-particle-overlay use the same provider validation, then require the matching mesh or particle draw line. Those checks confirm local-space surface projection, metric particle rasterization, and passthrough-visible rendering.

meta-hand-mesh-particles validates the live OpenXR hand-mesh path. It requires OpenXR hand-mesh particle logs with active runtime hand data plus a Rusty XR hand mesh particle draw line with nonzero particles, nonzero billboard vertices, the public sampler name, and passthrough-visible rendering.

The osc-udp-listener runtime profile enables the Rusty XR generic diagnostic HUD in headset. The HUD displays listener state, local bind address, packet count, last peer, last packet summary, and HUD command state. Use osc-udp-listener-no-overlay when measuring OSC ingress without HUD rendering.

The WPF app writes diagnostics under:


%LOCALAPPDATA%\RustyXrCompanion\diagnostics

Share the diagnostics folder when filing an issue. Remove anything you consider private before attaching it publicly.