Internal VORIVOX development. Candidate package: remaining gates are listed under compatibility.
Diagnostics
Troubleshoot layer by layer: Manifest → WebSocket handshake → lifecycle → coordinates → performance → packaging.
SDK states
| State | Meaning |
|---|---|
| Connecting | Reading the manifest and opening the loopback WebSocket |
| Authenticating | client.hello sent, waiting for server.hello |
| Connected | Launcher accepted the game; game.ready can be sent after content loads |
| Ready | The game declared itself ready for the session |
| Failed | Inspect LastError and the Error event |
Quick checks inside Unity
sdk.ConnectionStateChanged += s => Debug.Log("Connection: " + s);
sdk.SessionStateChanged += s => Debug.Log("Session: " + s);
sdk.MessageIgnored += (msg, why) => Debug.LogWarning($"{msg}: {why}");
sdk.Error += message => Debug.LogError(message);
These messages go to the Unity Console and build logs. This is the first diagnostic layer and it does not require any server-side Python.
Tools shipped with the SDK
The following utilities run locally on the developer workstation if Python 3 is installed. They are not intended for the venue server or website backend.
Manifest validation
Checks the launch manifest before you run the game.
python3 tools/validate_launch_manifest.py mock-launch.jsonMock Launcher
Simulates launch, pause, stop and device fault scenarios without the real range.
python3 tools/mock_launcher.py --scenario device-faultGame package validation
Checks the release folder for the manifest, media assets and the runnable build.
python3 tools/validate_game_package.py ./releaseIf Python is unavailable
Use the bundled Mock Launcher sample, Unity logs and a manual package review based on this documentation.
tools/README.mdWhat to attach to a bug report
- game, SDK and Launcher versions;
- time of the issue and exact reproduction steps;
- game logs without the
session_token; - a screenshot of the projected view and the expected hit point;
- the Mock Launcher scenario if the issue reproduces without hardware.
validate_game_package.py is a legacy ZIP-format helper, not the internal Cloud pipeline validator. It does not replace source upload, server canonicalization, QA and publishing. Cloud creates the signed manifest.