Architecture and authority¶
Unity 6, URP and C# form the pinned game foundation. The existing Unity NGO/Multiplayer Services stack supplies player-hosted online co-op with join codes. Preserve Editor/package pins; this wiki does not install or change game dependencies.
Ownership boundaries¶
| Concern | Owner / boundary |
|---|---|
| Input and local camera/settings | Owning client; input blocked by local UI state |
| Damage, ammo, ability requests and accepted actions | Validated authoritative host |
| Enemy intent, spawning, navigation and attacks | Authoritative host |
| Run/stage progression, reward identity and core awards | Authoritative host |
| Responsive presentation | Clients render accepted/replicated cues |
| Mutable player/run state | Runtime services, not shared definition assets |
| Authored tuning | ScriptableObject definitions/configuration |
| Results | Snapshot before temporary run cleanup |
Clients request actions; requests must carry valid owner/lifetime/sequence/identity context. Current source uses run/stage identities and explicit source provenance so delayed or recycled objects do not manufacture accepted effects.
For enemies, AI ownership separates director admission, planned squad guidance, individual graphs, evidence, investigation, movement and attack/flight execution. A graph chooses a shot; personal sight and muzzle checks still authorize its release. Reassignment cannot reset health or paid recovery.
Feature map¶
| Folder | Main responsibility |
|---|---|
| Features/Builds | Loadouts, ability definitions/tuning, passives, charge state |
| Features/Combat | Weapons, damage/defense, precision, active effect execution |
| Features/Runs | Run phases, rewards, cores, effect services and telemetry |
| Features/Enemies | Definitions, profiles, AI/packs/navigation, projectiles and bosses |
| Features/Menu | Main menu, ability library, guided builds and drafts |
| Features/Sessions | Online lifecycle, roster, lobby/admission and scene flow |
| Features/Player | Local motor/camera, accepted positions, network movement |
| Features/UI and Settings | HUD/panels/feedback and local preferences |
| Features/Debugging | Development-only scenarios and diagnostics |
Networking and lifecycle¶
Four players includes the host. Joining is pre-run; starting locks admission. Host loss returns other players to the menu; host migration is not assumed. Cleanup/rehost and genuine retryable service failures are explicit lifecycle concerns.
Prediction, rewind and anti-cheat claims should match current implementation evidence. Server validation and local responsiveness do not automatically imply full movement/aim prediction or lag compensation.
Source: network decision, protocol evidence, combat authority, session lifecycle, session controller.