Why GameState is a bulletin board and not a brain, where manager systems actually belong, and the one case where hanging them off GameState is right.
A common instinct is to make GameState the owner of your manager systems — an AI Manager, an Activity Manager — on the reasoning that they "dictate the game state."
Usually this is the wrong call. It:
The modern idiomatic home for manager-style systems is Subsystems (Chapter 14): automatic lifecycle, singleton-per-scope access, no manual spawning or wiring.
| Layer | Responsibility | Exists on |
|---|---|---|
| GameMode | Rules; boots the game; kicks off the managers | Server only |
| Manager subsystems | The actual AI / Activity logic; server-authoritative decisions | Server + client instances, independent of each other |
| GameState | The replicated result of what managers decide | Server + replicated to all clients |
| PlayerState | Per-player replicated state | Server + replicated |
The managers read from and write to GameState. They are not owned by it.
If a manager's state is itself shared, replicated data, then an ActorComponent on GameState is clean — because both GameState and its components replicate, the component gets networking for free.
Epic does exactly this in Lyra. ALyraGameState hosts a ULyraExperienceManagerComponent managing which "experience" (mode config) is loaded, because the loaded experience is shared state every client needs. Lyra's GameState also carries a global AbilitySystemComponent for game-wide effects and cues. Meanwhile Lyra uses subsystems heavily for service infrastructure that isn't shared match state.
UWorldSubsystem gated behind an authority check, or have GameMode drive it. If clients need to see something, like "12 enemies remaining", publish just that value to GameState. Don't put the manager there.CurrentActivity and EnemiesRemaining onto the GameState, which replicates.GameState->CurrentActivity to drive its HUD. No client runs manager logic; they just read the board.GameState never does anything in that flow. It's the shared board, and the managers are what write to it.