This is the answer to "what do I actually press play on, and who is in the room with me?" V5 is one UE5 open-world universe split across six ruleset cells — a 1947-noir Urban cell, a Prohibition-era Period cell, an 1899 Frontier, a Witcher-flavoured Hunter cell, a hard-SF Sci-Fi cell, and the cross-cell Mind Palace — and it advertises a catalogue as wide as that implies: eight primary campaigns, a per-cell skirmish surface, six co-op shapes, six PvP modes, a five-cell horde mode, training and trials, replay theatre, and a persistent Bureau-HQ social lobby that ties the whole thing together. The product only coheres if every one of those surfaces bottoms out in the same orchestration seam instead of forking the engine per genre. They do. A "mode" in V5 is a data record plus a GameFeature plugin plus a build-target gate, registered in one catalog, and the families this page covers — single-player campaigns, drop-in co-op, competitive PvP, horde, and the multiplayer experience that spans cells — are differentiated not by separate runtimes but by the per-cell module that runs after the registry hands off. This page tours those families on the player's side of the menu: what each is, what you do in it, what netcode posture it adopts, and which parts are shipped, compiled, tested C++ versus content that is named-but-uncooked. For the full mode taxonomy and the scope this slots into, start at the hub: ../V5_features.md.
What ships, honestly#
The mode machinery is real, compiled, and tested, and so is each family's
per-cell domain logic — but it sits one rung below a running net stack, exactly
like the netcode layer it composes. Seven Unreal C++ modules carry this page:
V5Modes, V5OnlineServices, V5HordeDefense, V5SpecOpsCoop,
V5UrbanOnline, V5FrontierOnline and V5SciFiPvP. Every one compiles on the
on-box engine (each carries 13–16 .o objects under
V5/ue/Intermediate/Build/Linux/x64/UnrealEditor/Development/), and every
automation spec they declare reported Result={Success} in the on-box run
logged at Saved/Logs/AutomationFull.log (2026-06-13) — the four V5.Modes.*
specs, three V5.HordeDefense.*, four V5.SpecOpsCoop.*, four
V5.UrbanOnline.*, four V5.FrontierOnline.*, five V5.SciFiPvP.* and the
V5.OnlineServices.* suite including a live HTTP round-trip.
Four honest qualifications keep the rest of the page at face value.
V5Modesis a registry/gate/router, not a live transition state machine. Unlike V4'sUV4ModeSubsystem::TransitionToMode, V5 ships no runtime mode switch.V5Modesis a set ofUBlueprintFunctionLibrarystatics — a launch catalog, a GameFeature-plugin discoverer, a per-build-target ruleset gate, a per-cell HUD router, a Bureau-HQ lobby-state builder, an arcade-cabinet profile, and a pro-stadium esports catalog. It decides which modes a build exposes and how their HUD/lobby is shaped; mounting the chosen plugin into a live world is the GameFeatures/World-Partition layer one rung down.- The per-cell multiplayer modules are catalog + rule + scoring + sync-
validation libraries that compose the shared seams.
V5UrbanOnline,V5FrontierOnline,V5SciFiPvP,V5SpecOpsCoopandV5HordeDefenseall depend onV5Netcode(AOI profiles, Iris config, the rollback evaluator) andV5OnlineServices(matchmaking / leaderboard / balance-ledger request builders). They emit config structs, deterministic scoring, andFV5OnlineServiceRequestJSON payloads — request construction, not a live session. There is a realFHttpModuletransport behind those requests (V5OnlineHttpClient.cpp:64/:182, proven byV5.OnlineServices.HttpTransport.LiveRoundTrip), but no shipping pawn orPlayerStateopens one of these sessions yet. - The content is uncooked. Every map is a soft path —
/Game/V5/SciFiPvP/CapitalRaid/Year1/Maps/CR_01.CR_01,/Game/V5/UrbanOnline/Maps/DM_07,/Game/V5/HordeDefense/Maps/L_Horde_Urban,… /SpecOps/Maps/L_SpecOps_18— that resolves to nothing at runtime today. The wave director is real code; the wave's enemy meshes are described, not baked. - The numbers are computed, not transcribed. Each family carries real arithmetic — horde player/wave scaling curves, Capital-Raid ranked-point formulas, speedrun time scoring, demand/supply economy repricing, best-of-N resolution — that a test would fail on if it were hardcoded.
These are altitude statements, not disparagement: every line cited compiles, is
UHT-processed, and is exercised by a passing spec. V5's modes-and-multiplayer
stack is the policy, catalog, scoring and session-shape layer, with the wire
binding deferred to the same boundary the architecture companion draws for
V5Netcode itself:
../architecture/netcode-authority-and-determinism.md.
How a mode is selected#
Everything below routes through one catalog.
UV5_Mode_Registry::BuildLaunchCatalog
(V5Modes/Private/V5ModeSystems.cpp:291) returns 29 FV5ModeDefinition
records (pinned at V5ModesTests.cpp:15), each carrying a PluginName, a
Cell, an EV5ModeNetworkModel (one of OfflineSinglePlayer,
OnlineOpenWorld, Cooperative, CompetitivePvP, SocialLobby, EditorTool,
Utility), a HUD-surface tag, a player cap, and the dedicated/listen/online
flags. The registry genuinely touches the engine:
DiscoverEnabledGameFeaturePlugins (:301) walks
IPluginManager::Get().GetEnabledPlugins() and keeps only plugins whose name
starts with V5Mode_ and that reference an enabled GameFeatures plugin
(IsV5GameFeaturePlugin, :86).
EnumerateEnabledGameFeaturePlugins(Enabled, Target) (:306) then filters that
roster through GateKnownMode (:129) for one of six EV5ModeBuildTarget
values. The gate is real policy, not a passthrough: a DedicatedServer build
keeps only bSupportsDedicatedServer modes; a ListenServer build also admits
offline/utility rulesets; a LANOffline build refuses any
bRequiresOnlineServices, CompetitivePvP or SocialLobby mode; an
ArcadeCabinet build cooks only the five curated local-co-op slots and forces
bRequiresOnlineServices=false so a cabinet Spec-Ops run uses a local service
shim instead of the live backend (:134, :164). The spec drives this exactly
— a dedicated snapshot keeps 2 of 4 enabled modes and gates the client/editor
pair; the cabinet snapshot enables 5 and gates the one non-cabinet online mode.
Once a mode is admitted, UV5_Mode_PerCellHUDRouter::BuildHUDRoute (:333)
picks the cell's HUD widget and status labels — Urban shows wanted stars and
ammo and, for V5Mode_Urban_Online, a network panel; Vice Squad and Steampunk
Detective expose an investigation notebook; the Sci-Fi ship HUD exposes hull and
crew status. The shell that hosts all of this is Bureau HQ, a persistent
SocialLobby mode (cap 32). UV5_Mode_OnlineLobby_BureauHQ::BuildLobbyState
(:451) mints seven cell portals and four queue groups (open-world, co-op, PvP,
training), clamps the connected-player count, fences the Sci-Fi portal behind
healthy online services, and flips its primary action to "Retry online services"
when the backend is down — a fail-loud lobby, not a fake-connected one.
Campaign, skirmish and signature modes#
Campaigns are V5's single-player spine — eight primary arcs (Heist City, Street
Triad, Made Man, Vice Squad, Outlaw Trail, Witcher's Path, Galactic Squad, Hard
Vacuum) plus a cross-cell Mind Palace arc, each registered as an
OfflineSinglePlayer mode that, per the netcode model, never opens a socket and
runs on the seeded xoshiro256+ PRNG. Three carry a co-op surface (Heist City
1–4P, Outlaw Trail's 1–2P shared epilogue, Hard Vacuum's 1–6P crew); those
switch to a listen server. The per-cell campaign content lives on the cell pages
— the Sci-Fi arcs at ./scifi-galactic-squad.md, the
open-world cells at ./urban-crime-cell.md and
./frontier-cell.md.
Skirmish / quick-play is the short-session entry point: a 5–15-minute drop
that writes to a rotating skirmish save (never the campaign slot) and grants
reduced Bureau XP so it cannot be farmed. Signature modes are the curated
~20–30-minute showcase loop each cell ships (Heist Planner → Execution,
MotionScan Interrogation, Dead Eye + Cinematic Encounter, Witcher Sense →
Contract, Flip-and-Burn + Dialogue Wheel) — the slice press runs to feel a
cell's identity in one sitting, reachable from the cell-select shell with a
pre-built profile. Training, trials and replay theatre round out the solo
surface: fixed-seed trials are comparable across the leaderboard, and every PvP
match and trial run is captured as an input-stream replay re-simulated from
inputs (not video), so a replay survives a patch only within the same binary
version. The registry exposes V5Mode_Replay, V5Mode_Spectator,
V5Mode_Training_Range and V5Mode_PhotoMode as first-class entries in the
same catalog.
Co-op across cells#
Co-op is where the universe's "one engine, many genres" thesis becomes a multiplayer room. Two cross-cell modes anchor it.
Spec Ops (V5SpecOpsCoop) is the curated cross-cell co-op ladder.
UV5_SpecOpsCoop_Catalog::BuildMissions (V5SpecOpsCoopSystems.cpp:115) builds
exactly 18 1–4-player missions, each one spanning a primary, secondary and
tertiary cell plus the Mind Palace in its AllowedLoadoutCells, each
drop-in/drop-out and enemy-density-scaling, with a computed length of
16 + (index % 4) × 3 minutes. The loadout selector offers 10 cross-cell
roles across all five gameplay cells (driver, breacher, negotiator, shadow,
marksman, tracker, sign-caster, alchemist, tech, vanguard); BuildSelectorState
(:341) enforces that roles are unique within a squad and that every chosen
loadout's source cell is allowed for the mission. A Year-1 stretch catalog adds
12 more missions totalling exactly 300 minutes, gated to Bureau Tier ≥5 and
locked behind year-1-expansion. Matchmaking is dedicated-authoritative but
also solo-and-listen-capable (BuildMatchmakingProfile, :229), and its
payload declares "crossCellLoadouts":true so the queue knows to assemble a
mixed-cell squad.
Horde Defense (V5HordeDefense) is one shared wave director with a per-cell
verb set. BuildPlaylistForCell (V5HordeDefenseSystems.cpp:147) builds a
20-wave playlist for each of the five gameplay cells — four acts of five, a
60-second vendor prep between acts, a mini-boss closing each act and a cell boss
at wave 20 (BuildWave, :41). The per-wave math is real:
BaseEnemyCount = 6 + wave × 2, HealthScale = 1 + (wave−1) × 0.08, and the
flavour is cell-specific — Urban gang waves add SWAT support and civilian-rescue
bonuses, Period mob waves trigger scripted police reinforcement at act
boundaries, Frontier predators flank, Hunter waves demand oil prep for the boss,
Sci-Fi boarding marines vent a room on a hull breach. Live-player scaling is the
headline curve, computed in EvaluateWaveScaling (:195):
EnemyCountMultiplier = 1 + (players−1) × 0.45 + (wave−1) × 0.025 and
HealthMultiplier = 1 + (players−1) × 0.20 + (wave−1) × 0.015, with
bRetuneAtNextWaveBoundary set so a 4-player session does not trivialize when
one player drops mid-act. Every cell carries its own 1–4P matchmaking queue
(/v5/matchmaking/horde/<cell>/queue), and ValidateCatalog (:206) fails
loudly if any of the five playlists, twenty waves, or per-cell flavour tags is
missing.
The open-world cells add their own co-op shapes. Urban Freeroam is a 2–30
player dedicated-server shard streaming relevancy through the shared 300 m Urban
AOI profile; Heist Co-op is a 2–4 player listen-server run with role locks
and AI backfill (V5UrbanOnlineSystems.cpp:135). Its cross-player integrity is
a real guard: UV5_UrbanOnline_HeistSync::ValidateCrossPlayerHeistSync (:540)
refuses to commit a checkpoint unless every player is ready, every player's
checkpoint frame equals the authoritative server frame, roles are unique per
crew, and a four-player crew covers all of driver/hacker/gunner/lookout.
Frontier Posse is a 2–7 player dedicated session on the 500 m Frontier AOI
profile with join-in-progress; ValidatePosseSynchronization
(V5FrontierOnlineSystems.cpp:381) additionally aligns the shared objective
version, the economy ledger version, and per-player horse replication state
across the posse.
PvP across cells#
Competitive PvP ships as per-cell catalogs that select a netcode posture and emit a matchmaking contract. They split cleanly along the line the netcode companion draws: twitch PvP rolls back, objective PvP stays server-authoritative.
The Sci-Fi PvP module (V5SciFiPvP) is the densest. BuildModes
(V5SciFiPvPSystems.cpp:224) defines two modes — a 1v1 corvette Ship Duel
and a 5v5 frigate Capital Raid — both flagged bRollbackPrediction with an
8-frame window at a 60 Hz tick, both dedicated-server. The rollback decision is
not re-implemented here: UV5_SciFiPvP_Rollback::EvaluateShipPvPRollback
(:683) delegates straight to UV5_Net_RollbackEmulated::EvaluateRollback, the
same span-and-window evaluator the architecture page documents (a correct
prediction costs zero rewinds; a mismatch rolls back to
max(LastConfirmed, Mismatch) and checks the 8-frame budget). Capital Raid is
the ranked centrepiece: a 90-day season, anti-cheat-clean gate, leaver penalty,
crossplay-opt-in requirement and six expansion maps, all validated in
ValidateCapitalRaidExpansionCatalog (:541). Its score is genuine arithmetic,
in EvaluateMatchResult (:732) — it rejects a dirty anti-cheat record, a
leaver forfeit, a binding mismatch or a loss, then computes
RankedPoints = max(1, 1200 + scoreDifferential × 100 + (cores × 200 + breaches × 75) + clamp(duration, 0, 180) × 2).
A Year-1 Pro Circuit Season 2 layers a 16-seed double-elimination bracket of
exactly 30 match slots (15 upper, 14 lower, 1 grand final, :671) over eight
esports-only maps, with workshop content disabled and an observer delay required
— the integrity posture an esports broadcast needs.
The other cells follow the same shape. Urban ships a 4v4 Deathmatch and a
4v4 Heist-vs-Heist; MakeMode (V5UrbanOnlineSystems.cpp:25) pins the
deathmatch modes to a 60 Hz tick and the open-world modes to 30 Hz, the 16
deathmatch arenas each carry bSupportsEightFrameRollback, and the standard
six-phase lifecycle (Lobby → Loading → Warmup → Live → Scoreboard → PostMatch)
is asserted in ValidateOnlineCatalog. Frontier ships an 8-player
free-for-all Showdown (Dead-Eye disabled, lasso and horse-chase enabled) and a
4v4 Posse War; the Posse War Year-1 tournament runs a
ranked-ladder-into-weekly-finals bracket cutting to 32 teams, best-of-five, and
scores each match as
max(1, 1000 + roundDifferential × 125 + (captures × 30 + eliminations × 20) + clamp(time, 0, 180) × 2)
(V5FrontierOnlineSystems.cpp:467). Across all of these, every score and queue
flows through the shared V5OnlineServices request builders, and every ranked
profile carries bCrossplayOptInRequired — matching the one documented
crossplay opt-out in crossplay-progression-policy.json, where the
high-precision Sci-Fi spaceship PvP is allowed to fence console players off for
input-parity fairness.
The multiplayer experience, end to end#
Pulled together, a cross-cell multiplayer session is a chain of pure functions
over plain data, each one tested. From Bureau HQ a player opens a queue; the
cell module builds an FV5OnlineServiceRequest via
UV5_Online_MatchmakingService::BuildQueueRequest (skill rating, ping, region,
cell, mode), the netcode module hands it the right AOI profile and Iris/tick
config, the session adopts one of four postures (offline-seeded, dedicated +
AOI, listen + 2-second host migration + AI backfill, or dedicated 60 Hz with
8-frame rollback duels), and on completion the result is graded and written back
through UV5_Online_LeaderboardsService::BuildScoreWriteRequest — or, for the
open-world economies, through the balance-ledger client that reprices each
district/region's goods by a clamped demand/supply ratio. Speedrun and trial
surfaces close the same loop: EvaluateRouteScore
(V5UrbanOnlineSystems.cpp:581) rejects an anti-cheat-dirty run, a >30-second
penalty on a clean-run route, or a time outside the 1.5× target window, then
scores the survivor as round((targetTime / adjustedTime) × 100000).
What makes this a universe and not five bolted-together games is that the seam
is shared all the way down: the same registry gates every mode, the same AOI and
rollback library serves every cell, the same online-services contract carries
every queue and score, and the same Bureau HQ lobby is the front door. The
honest boundary holds throughout — these are the catalogs, rules, scoring and
session shapes; the live wire that binds them into a running shard is the
deferred layer the netcode companion describes. The backend that those request
builders speak to — auth (real HS256 JWT verification and RFC 7636 PKCE),
friends, parties, matchmaking, leaderboards, replays, anti-cheat — and its real
FHttpModule transport are detailed in the online-services page.
Where this connects#
The mode registry is the orchestration layer almost everything here hangs off, and it is also the seam to the rest of V5. The dedicated-server backbone, matchmaking service, leaderboards, anti-cheat, crossplay/cross-progression policy and the live HTTP transport that ranked PvP, co-op matchmaking and replay storage read from are covered in ./online-services-and-infrastructure.md. The Mission Editor, Heist Author, Case Author and Workshop — the editor-only modes the ruleset gate hides outside editor builds, and the player-made content the co-op and signature surfaces consume — are in ./content-creator-tools-and-workshop.md. The per-cell netcode postures, server authority, lag compensation, 8-frame rollback evaluator and the seeded determinism backbone every mode above selects are the architecture companion, ../architecture/netcode-authority-and-determinism.md. The orientation hub for the whole feature set is ../V5_features.md.
Related#
- The feature hub: ../V5_features.md
- Online Services & Infrastructure — the dedicated-server backbone, matchmaking, leaderboards, anti-cheat, crossplay and the real HTTP transport the queues and scores ride
- Content Creator Tools & Workshop — the editor-only modes and the player-made content co-op and signature surfaces consume
- Architecture companion: ../architecture/netcode-authority-and-determinism.md — per-cell netcode, server authority, lag compensation, rollback and determinism
- Sci-Fi Galactic-Squad cell, Urban Crime cell, Frontier cell — the campaigns and gunplay behind the modes