Archive case / 002
Body & Soul
An asymmetric co-op prototype where Body and Soul players share a server-authoritative team-health pool.
Replicated co-op prototype
Unreal Engine 5 / C++ / GAS
Engineering question
How can two asymmetric player characters share one failure state while keeping GAS setup extensible?
Focus
- Shared health
- Role spawning
- GameState replication
The technical question
What was being tested
How can two asymmetric player characters share one failure state while keeping GAS setup extensible?
Implementation notes
What I built
- 01
Role spawning
GameMode alternates Body and Soul pawn classes so asymmetric co-op sessions can be tested without a role-selection layer.
- 02
GAS ownership
Player capabilities are initialized through a PlayerState-owned Ability System Component, with separate pawn-owned setup for AI actors.
- 03
Shared authority
GameState owns the replicated team-health value, keeping the co-op fail state server-authoritative and readable by every client.
System map
The working path
A compact model of the relationships this experiment was designed to make explicit.
01
GameMode role assignment
02
Body / Soul pawns
03
GameState shared health
04
Replicated UI feedback
Evidence and limits
What this proves
The capture shows alternating Body/Soul spawns, damage, and the replicated shared-health update across PIE instances.
The ability and UI layers remain prototype-grade: the health UI validates through direct GameState reads and the dedicated reduce-health ability is still a placeholder.
Next iteration
Move shared health toward a dedicated authority ASC, replace the prototype update path with delegates, and add multiplayer functional tests.