unreal-multiplayer
Installation
SKILL.md
unreal-multiplayer
Core Philosophy
Unreal Engine was built from its inception in 1998 as a multiplayer tournament engine. Networking in Unreal is deeply opinionated: it centers around a strict Server-Authoritative Client-Server architecture orchestrated by the GameMode, GameState, PlayerState, and PlayerController classes. The server runs the definitive physical simulation; clients are visual and audio playback terminals that send player intent. Master Unreal multiplayer by understanding the Actor Replication lifecycle, property replication with DOREPLIFETIME, and the strict division between Multicast, Client, and Server RPCs.
4-Step Unreal Multiplayer Architecture
Step 1: The Core Gameplay Framework Classes
- GameMode (Server Only):
- Exists exclusively on the authoritative server. Defines match rules, win conditions, player spawning (
SpawnDefaultPawnAtTransform), and score tracking. Never replicated to clients.
- Exists exclusively on the authoritative server. Defines match rules, win conditions, player spawning (
- GameState (Server $\to$ All Clients):
- Replicated to all machines. Tracks match state (Round time, Team scores, Match phase: WaitingToStart, InProgress, PostMatch).
- PlayerState (Server $\to$ All Clients):
- Replicated to all machines. Tracks individual player attributes (Player Name, Ping, Kills, Current Score).
- PlayerController (Server $\leftrightarrow$ Owning Client):
- Exists on the server and the specific owning client. Handles input translation, UI HUD management, and secure Server RPC communication.