One and two players
Transport v1 provides the selected player count, but a hit does not identify a weapon or player. Turn ownership is a game rule.
Declare support
"players": {
"supported_counts": [1, 2],
"default_count": 1,
"session_modes": ["single", "versus"],
"same_screen": true
}Launcher passes the effective value in Manifest.Session.PlayerCount and session.start. The SDK rejects unsupported selections.
Suitable models
Alternating shots
Every hit switches the active player.
Separate rounds
Player A completes a series, then player B.
Co-op score
Both players build one aggregate result.
v1 limitation
Do not infer a weapon.
target.hit has no player_id or weapon_id. Shooter identification requires a separately versioned Launcher extension.Result
The base completion result is aggregate. Per-player arrays require an agreed protocol extension.