Internal VORIVOX development. Candidate package: remaining gates are listed under compatibility.
Example: two-player duel
This example demonstrates alternating turns and separate score state for two players.
State
private int currentPlayer;
private readonly int[] score = new int[2];
private readonly int[] shots = new int[2];
private void OnHit(VorivoxHit hit)
{
int points = ResolveTarget(hit);
score[currentPlayer] += points;
shots[currentPlayer]++;
currentPlayer = 1 - currentPlayer;
UpdateTurnIndicator();
}
Completing the duel
The game keeps both scores locally, presents the winner, and completes the session with the single numeric result defined by the duel rules. A practical choice is the winner’s score, while names, intermediate points, and detailed statistics remain visible on the game’s result screen.
The score field remains numeric. Do not encode a player array or JSON string in it.
Teaching samples are scripts requiring a Unity scene and assigned references. Production needs pause/countdown guards, connection-loss handling, shot_id deduplication and listener disposal. Older samples may require adaptation; complete gameplay is not claimed.
Playground demonstrates the shared contract in a browser. It is not a Unity Player or a C# package test.