Cross-play, P2P, and Unreal Engine— Easier Said Than Done
summary
Outriders’ cross-play uses WebRTC + Coturn for NAT traversal but disables built‑in reliability to avoid extra latency, and falls back to relay servers (one VM can host tens of thousands of players) when direct peer connects fail. Backend uses server‑sent events for low‑latency signaling, PlayFab for matchmaking, and join codes for party joins. Voice uses third‑party services to meet the US CVAA speech‑to‑text requirement. Version compatibility uses compatibility buckets so only matching builds can connect across platforms.
AI-written summary · about
chapters (24)
- 0:00Intro
- 0:47Introduction
- 1:17Who are People Can Fly
- 2:08Presentation Outline
- 3:18Motivation
- 3:45Define the problem
- 4:16Design considerations
- 4:44User experience
- 5:17Crossplay
- 6:06Pressure vs Monetization
- 6:39Microtransactions
- 7:26Examples
- 8:19Summary
- 10:20How to establish lowlight
- 11:37Relay servers
- 12:32How to implement
- 13:47Channel negotiation
- 15:08Recommendations
- 19:39Centralized Database
- 20:19Display ID and Internal ID
- 21:31Matchmaking
- 24:29Multiplatform certification
- 25:54Compatibility buckets
- 28:18Conclusion
related talks
22mSuperstar Session: The Future is Cross Platform
19mEverything You Need to Build a Modern Cross-Play Enabled Game
49mMultiplayer Misadventures - Tales from making our first PvP multiplayer game in Unity
26mHow Unity Gaming Services addresses unsolved problems in gaming
59mFrom creation to connection: What’s new for multiplayer gaming at
43mImplementing Team-Based Matchmaking without a Matchmaking Server
21mWhen the Shit Hits the (RGB) Fan: What Can Go Wrong When Making Multiplayer Games
19mSuperstar Session: Azure PlayFab Party Showcase
