Unreal Engine 5 Infrastructure

Unreal Engine multiplayer backend

Every UE multiplayer game needs five backend layers. Here's what each one does, what your options are, and how they connect to your dedicated servers.

UE5 Matchmaking Session allocation Backend architecture

TL;DR

  • Five layers, not one — matchmaking, session allocation, identity/auth, game services, and ops/analytics. Each is a separate problem with separate options.
  • Gameye is the session allocation layer — it starts, places, and tears down dedicated servers. Your matchmaker calls it; your servers run on it.
  • EOS is the most integrated default — free, built into UE5, covers identity + matchmaking + anti-cheat. The tradeoff is Epic dependency.
  • Mix and match is normal — most studios use EOS for auth, a specialist matchmaker (Pragma, Nakama, or custom), and Gameye for server allocation.

When people say "multiplayer backend" they usually mean one of five different things — and the mistake is treating them as one system. Matchmaking groups players. Session allocation starts the server. Identity authenticates them. Game services power leaderboards and progression. Ops tooling keeps everything running. Each layer has distinct requirements and distinct options.

This guide maps out the full stack for a UE5 multiplayer game and explains where each service sits. For the engine-level multiplayer model (dedicated vs listen, replication, server travel), see the UE5 multiplayer server architecture guide.


The five backend layers

1
Matchmaking

Groups players into matches based on skill, ping, mode, or custom rules. Decides which players go into which match. Does not start servers — that's the next layer.

AWS FlexMatch Pragma Nakama EOS Matchmaking Custom
2
Session allocation Gameye

Receives the match result from the matchmaker. Starts a dedicated server in the optimal region, returns the IP and port. Manages session lifecycle — start, health, teardown.

Gameye AWS GameLift Agones Self-hosted
3
Identity and auth

Player accounts, login, tokens, and cross-platform identity. Authenticates players before they can join sessions. Often also handles entitlements and ownership verification.

Epic Online Services Steam PlayFab Custom OAuth2
4
Game services

Leaderboards, achievements, player stats, inventory, voice, social graph. Often the last thing built and the first thing players notice. Can be assembled from specialist services or a full game backend platform.

EOS Nakama PlayFab Pragma Custom
5
Ops and analytics

Session telemetry, server health monitoring, crash reporting, player behaviour analytics, and cost tracking. Often the most neglected layer in early builds, and the most critical during a live launch.

Datadog Grafana Sentry Custom dashboards

Layer 1: Matchmaking options for UE5

Matchmaking is a pure software problem — it runs on your backend, not on game servers. The right choice depends on your skill-rating needs, player volume, and how much you want to build.

AWS FlexMatch

Rules-based matchmaker with flexible skill and team configuration. Works standalone — you don't need GameLift to use FlexMatch. Integrates with Gameye for server allocation instead. Strong choice if you want managed matchmaking without managed servers.

Gameye + FlexMatch integration →
Pragma

Purpose-built game backend with matchmaking, social graph, and live ops. UE5 SDK available. Designed for studios that want a full backend platform with opinionated structure. Typically chosen by mid-to-large studios with dedicated backend teams.

Nakama

Open-source game server with matchmaking, realtime messaging, leaderboards, and social features. Self-hostable. Gameye has a native Fleet Manager integration that handles the full session lifecycle including player join/leave tracking and backfill.

Gameye + Nakama integration →
Custom / in-house

Many studios with specific ELO requirements or unusual team compositions build their own matchmaker. A custom matchmaker calls the Gameye Session API directly when a match is found — any system that can make an HTTP call can allocate a session.

Custom matchmaker guide →

Layer 2: Session allocation — where Gameye fits

Session allocation is the step between "match found" and "server running." Your matchmaker decides who's in the match; the session allocator starts the server, places it in the right region, and hands the IP and port back to your matchmaker so players can connect.

Allocation flow with Gameye
  1. Matchmaker forms a match — players, region preference, game mode.
  2. Matchmaker calls POST https://api.gameye.io/session with image, location, and launch args.
  3. Gameye starts your containerized UE dedicated server in the nearest datacenter. (~0.5s)
  4. Gameye returns session ID, IP, and port to your matchmaker.
  5. Matchmaker delivers connection details to each player's client.
  6. Players connect directly via ClientTravel. Gameye is not in the data path during play.
  7. Match ends. Server exits. Gameye reclaims the container. Billing stops.
Gameye
  • Bare metal + multi-cloud, 200+ datacenters
  • No egress fees — bandwidth included
  • No engine-side SDK — your binary runs unmodified
  • Sub-second session starts (containers pre-pulled)
  • Any matchmaker via REST API
AWS GameLift (managed)
  • AWS regions only
  • Free egress on gen-6+ managed instances (since June 2026)
  • GameLift Server SDK required in your binary
  • Fleet warm-up time; instance-level scheduling
  • Deep FlexMatch integration; tighter AWS ecosystem
Agones (self-managed)
  • Kubernetes-native; runs anywhere you have a cluster
  • No managed service — you operate the infrastructure
  • GameServer CRD; Agones SDK in server binary
  • Maximum control; maximum operational overhead
  • Right for studios with dedicated DevOps capacity

Layer 3: Identity and auth for UE5

Every multiplayer game needs a way to identify players, issue tokens, and verify those tokens server-side. The main options for UE5 studios:

Epic Online Services (EOS)

Free. Deep UE5 integration via the Online Services plugin. Supports Epic accounts plus external identity providers (Steam, Xbox, PlayStation, Discord, Apple). Provides Easy Anti-Cheat at no additional cost. Strong default for PC games — especially Epic Games Store titles.

Steam

Valve's auth ticket system. If you're shipping on Steam and your players are on Steam, Steam identity is often sufficient. Works well with Steamworks SDK. Less suitable for cross-platform titles where some players aren't on Steam.

PlayFab (Microsoft)

Microsoft's game backend service. Login, player data, economy, and analytics in one platform. UE5 SDK available. Strong for Xbox-focused titles and studios already in the Microsoft ecosystem. Free tier available; costs scale with player count.

Custom OAuth2/JWT

Build your own auth layer using standard OAuth2 flows and JWT tokens. More work upfront but no vendor dependency and full control over player data. Common for studios with existing account systems or specific data sovereignty requirements.


Common backend stacks for UE5 studios

Most studios mix services rather than choosing a single all-in-one platform. Here are the most common configurations.

Indie / small studio
EOS (auth + matchmaking + anti-cheat) + Gameye (session allocation)

EOS handles identity and matchmaking for free. Gameye handles server allocation with no egress fees. Low operational overhead, fast to ship.

Mid-size studio (custom matchmaking)
EOS or Steam (auth) + Custom matchmaker + Gameye (session allocation)

Custom ELO or mode-specific matching logic calls Gameye directly for server allocation. Auth stays with EOS or Steam. Most common pattern for competitive titles with specific ranking requirements.

Full platform (Nakama)
Nakama (matchmaking + social + leaderboards) + Gameye Fleet Manager (session allocation)

Nakama handles the full game backend. Gameye's native Fleet Manager integration handles dedicated server allocation and lifecycle. The Fleet Manager manages player join/leave tracking and backfill automatically.

AWS-integrated (FlexMatch)
EOS or Cognito (auth) + FlexMatch (matchmaking) + Gameye (session allocation)

FlexMatch's rules-based matchmaking calls Gameye instead of GameLift for server allocation. Keeps FlexMatch's powerful rule DSL while avoiding GameLift's SDK requirement and single-cloud compute dependency.


Frequently asked questions

What backend does a UE5 multiplayer game need?

A UE5 multiplayer game needs five backend layers: matchmaking (groups players into matches), session allocation (starts and manages dedicated servers), identity and auth (player accounts and tokens), game services (leaderboards, achievements, inventory, voice), and ops/analytics (telemetry, session monitoring, crash reporting). Most studios assemble these from a mix of specialist services rather than building them all in-house. Gameye handles session allocation — starting, placing, and tearing down dedicated server sessions on demand.

What matchmaking options are available for Unreal Engine games?

Common matchmaking options for UE5 games include: AWS FlexMatch (rules-based, works standalone or with GameLift), Pragma (purpose-built game backend with matchmaking), Nakama (open-source game server with matchmaking), Epic Online Services matchmaking, and custom in-house implementations. Gameye integrates with all of these — the matchmaker handles player grouping, then calls Gameye's Session API to allocate the dedicated server.

What is Epic Online Services (EOS) and should I use it?

Epic Online Services (EOS) is Epic's free cross-platform backend for game services: identity and auth (with Epic Account and external auth providers), friends, presence, voice, anti-cheat (Easy Anti-Cheat), sessions, matchmaking, and leaderboards. It's free to use and deeply integrated with UE5 via the Online Services plugin. It's a strong default for PC games shipping on the Epic Games Store. The main consideration is vendor dependency — EOS ties your backend to Epic's infrastructure. Studios with sovereignty requirements or existing platform relationships sometimes prefer alternatives.

Can I use Nakama as a backend for my UE5 game?

Yes. Nakama is an open-source game server that handles accounts, matchmaking, leaderboards, chat, and more. Gameye has a native Nakama Fleet Manager integration — Nakama handles match formation and player management, Gameye handles dedicated server allocation. The Fleet Manager manages the full session lifecycle including player join/leave tracking and backfill. See the Gameye Nakama integration guide for setup details.

How does session allocation fit into a UE5 multiplayer backend?

Session allocation is the step between match found and server running. Your matchmaker decides which players are in a match; the session allocator starts a dedicated server for that match, places it in the right region, and returns the IP and port so players can connect. Gameye is a session allocator — it receives an API call from your matchmaker, starts a containerized UE5 dedicated server in under 0.5 seconds, and returns the connection details. It sits between your matchmaker and your servers, with no engine-side SDK required.

What anti-cheat options work with UE5 dedicated servers on Gameye?

Easy Anti-Cheat (EAC, built into EOS and free), BattlEye, and Valve Anti-Cheat (VAC) all work with dedicated servers running on Gameye. Anti-cheat operates at the client and server application level, not at the hosting infrastructure level. Gameye runs your server binary unmodified inside a Linux container, so any anti-cheat that supports Linux dedicated servers works with Gameye.

Get started

Add Gameye as your session allocation layer.

Sign up, connect your matchmaker, and have sessions running in minutes. No SDK changes to your server binary.