🔺 My First Unreal Game · Episode 9 of 9 · See All Episodes
🦊Lumo says: take this episode one step at a time. Finish the build, answer the check, and your progress saves on this device.
← Episode 8 🔺 All Episodes
🛠️ Build it in the Unreal Studio tooArrange Blueprint nodes in your browser, play a live sketch, and export the real Blueprint recipe. No install to start. Open Studio →
🌐 Episode 9 · Series Finale · Networked Blueprints

Online Arena!
Multiplayer Basics

The Unreal finale: the engine that runs Fortnite does networking natively. Listen servers, replication, RepNotify, server RPCs with validation, and a two-player coin arena you can actually play.

👶 Ages 12+ ⏱️ ~2.5 Hours 🔺 Unreal Engine ✓ Free
📡 Listen servers 🔁 Replication 🔔 RepNotify 📣 RPCs & validation 👥 PlayerState 🏟️ Networked arena
⭐
0 XP
Level 1
🔥0
Your Progress 0 / 6 steps
🛡️
Before you start: this episode assumes Unreal Engine 5 is already installed and you have a project from the earlier episodes, so new here? Start at Episode 1: Blueprint Basics. Unreal is a big install (around 30 GB) that wants a strong PC with a dedicated GPU, and testing multiplayer is easiest with two windows or a friend on the same network. This is a home-computer workshop, so a grown-up should help, and it will not run on a locked-down school computer. Want to practise with nothing to install? Use the Unreal Studio in your browser.
📦
Workshop reference pack: download an offline copy of every step in this workshop: ⬇ unreal-multiplayer-workshop-reference.zip. Every code block also has a Copy button.
1
📡
Two Players in Editor
PIE multiplayer: the easiest network test in gamedev
Active
🎯
Goal for this step

Run a listen server with two windows, inside the editor.

  • 1Unreal networking was built in from day one (1998!). Testing is absurdly easy.
  • 2Beside Play: dropdown → Number of Players: 2, Net Mode: Play As Listen Server. Press Play.
  • 3TWO windows appear: the server-player and a client, connected and running. Two mannequins, visible to each other. Zero setup.
  • 4Movement already syncs, the Character class replicates movement out of the box (with prediction Fortnite-grade).
  • 5Vocabulary check (from Unity Ep 8 if you did it): listen server = host; authority = the server owns truth. Same physics, different engine.
✏️
Fill in the Blanks
+15 XP
Two-player testing sets Number of to 2 with Net Mode: Play As Server. The built-in class already replicates movement.
🧠
Knowledge Check
+15 XP
The Character template syncing movement automatically tells you Unreal’s networking is…
AAn afterthought
BFoundational, replication and prediction are built into the core gameplay classes
COnly for Fortnite
2
🔁
Replication Basics
Replicated actors and variables
Locked
🎯
Goal for this step

Understand and use the Replicates flags.

  • 1By default, an actor spawned on the server exists ONLY on the server. Tick Replicates (class defaults) → the server creates/destroys it on all clients too.
  • 2Variables: a plain variable changed on the server stays server-only. Set its Replication to Replicated → value flows server → clients automatically.
  • 3Direction matters: replication is one-way, server → client. Clients NEVER push variables up (that is what RPCs are for, step 4).
  • 4Test: a replicated BP_Ball with a replicated colour variable, changed server-side on a timer, both windows change together.
✏️
Fill in the Blanks
+15 XP
An actor only appears on clients when its flag is on. Variable replication flows one way: from the to clients.
🧠
Knowledge Check
+15 XP
A client changing a replicated variable locally results in…
AEveryone updating
BNothing propagating, replication is server→client only; the client just lied to itself
CA crash
3
🔔
RepNotify: Reacting to Sync
Run code when a replicated value arrives
Locked
🎯
Goal for this step

Trigger client-side effects the moment values replicate.

  • 1Syncing a value is half the job, clients usually need to REACT (update a health bar, flash a colour).
  • 2Set a variable’s replication to RepNotify: Unreal auto-creates an OnRep_VariableName function, called on clients whenever the value lands.
  • 3Health example: Health (RepNotify) → OnRep_Health updates the health bar widget + plays a hit flash. Server changes Health once; every client’s UI reacts by itself.
  • 4This is Unity’s OnValueChanged callback, Unreal-flavoured. Same architecture: state syncs, reactions are local.
✏️
Fill in the Blanks
+15 XP
A variable set to generates an _ function that runs on clients when the new value arrives, perfect for updating health .
🧠
Knowledge Check
+15 XP
Why put the health-bar update in OnRep_Health instead of Tick?
ATick is banned
BIt runs exactly when the value changes, event-driven, zero waste, no per-frame polling
CWidgets require it
4
📣
RPCs & Validation
Run on Server, Multicast, and trust nothing
Locked
🎯
Goal for this step

Send events across the network with authority checks.

  • 1Custom events gain a Replicates dropdown: Run on Server (client asks server) and Multicast (server tells everyone).
  • 2The pattern (Unity Ep 8 déjà vu): client presses F → RunOnServer event → server VALIDATES → Multicast event → effect on all screens.
  • 3Validation is not optional: the server re-checks range/cooldown/permission. "Never trust the client", every online cheat ever is a client that was trusted.
  • 4Build it: a door only the server opens (F → Server_RequestOpen → distance check → Multicast_OpenDoor animating on every screen).
✏️
Fill in the Blanks
+15 XP
A client-to-server event is set to Run on ; a server-to-everyone broadcast is a . Between them the server must always the request.
🧠
Knowledge Check
+15 XP
The server re-checking the door distance (even though the client already checked) prevents…
ALag
BCheating, a hacked client can skip ITS check, but it cannot skip the server’s
CDouble doors
5
👥
PlayerState: Who Is Everyone?
Names and scores that everyone can see
Locked
🎯
Goal for this step

Store per-player data where the network expects it.

  • 1Where does a SCORE live in multiplayer? Not the pawn (dies/respawns), not the controller (server-only for others). Answer: PlayerState, per-player, replicated to everyone, survives respawns. Built for exactly this.
  • 2Create BP_MyPlayerState (add Score, RepNotify), set it in the Game Mode.
  • 3The server grants points: get the scoring player’s PlayerState → add Score.
  • 4A scoreboard widget (Tab) lists every PlayerState via Get Game State → PlayerArray, names and scores of ALL players, replicated for free.
  • 5Framework tour: GameMode (rules, server-only) / GameState (match data, shared) / PlayerState (per-player, shared) / Pawn (the body). Learn the homes, networking gets easy.
✏️
Fill in the Blanks
+15 XP
Per-player replicated data (score, name) belongs in , which survives respawns. Every player’s state is listed through the GameState’s . Match rules live server-side in the .
🧠
Knowledge Check
+15 XP
Why not store score on the character pawn?
APawns are too small
BPawns get destroyed on death, the score would die with them. PlayerState persists across respawns
CPawns cannot hold ints
6
🏟️
The Coin Arena & Series Wrap
A complete networked mini-game, then the victory lap
Locked
🎯
Goal for this step

Assemble the two-player coin race and close the series.

  • 1Assemble: your Ep 1 arena + replicated coins (server destroys on overlap + adds to the toucher’s PlayerState score) + RepNotify scoreboard + a Multicast win banner at 10.
  • 2Test at Players: 2. Then the real thing: package the game (Platforms → Windows) and try LAN play with a friend.
  • 3Nine episodes of Unreal: editor, Blueprints, events, interfaces, dispatchers, components, saves, streaming, profiling, and networked play. That is a serious skill stack.
  • 4Blueprint has taken you this far; C++ is the natural next mountain (the Top-Down Shooter episode touches it). Either way: you build in the engine that builds blockbusters. GG, developer.
✏️
Fill in the Blanks
+15 XP
Coins are destroyed by the , scores live in , and the win banner reaches all screens via a event.
🧠
Knowledge Check
+15 XP
Across Unity AND Unreal multiplayer, the ONE unshakeable principle was…
AUse more RPCs
BServer authority: the server owns the truth, clients request and display, cheat-resistance by architecture
CAlways use 2 players
🎉🏆🎮✨🎉
Workshop Complete!
Replication, authority, RPCs, in the engine that runs Fortnite. Nine episodes complete: you are an Unreal developer. 🔺🏆
0
Total XP
1
Level
0
Best Streak
0%
Accuracy
⭐ View My Progress & Certificates

This workshop was free and took many hours to build. If it helped you learn something new, consider supporting the project.

☕ Support on Ko-fi
🧩
Code Order: Blueprint Game Flow
+20 XP
Drag these Blueprint steps into the correct order for setting up player input and movement.
Get the input axis value from the Enhanced Input Action
Create a new Blueprint class that extends Character
Connect the result to Add Movement Input
Add an Input Mapping Context in BeginPlay
Multiply axis value by speed to get movement direction