← All projects
Render pass 02 — netcode2025

Crossplay Multiplayer Architecture

Steam, Meta Quest, and Google Play Games players in one lobby, unified through Epic Online Services as the identity and networking backbone.

  • Unreal Engine 5.5
  • Epic Online Services (EOS)
  • OSSv1 / OSSv2

Scope

Crossplay across Steam (Windows), Meta Quest (Android/Oculus), and Google Play Games (Android), evaluated against both Unreal’s OSSv1 and the newer OSSv2, with EOS Connect mapping each platform’s native identity onto a shared EOS Product User ID.

Problems solved

  • Using the correct Steam Web API ticket type (GetAuthTicketForWebApi) for EOS Connect login
  • Handling first-time users via EOS_Connect_CreateUser with a ContinuanceToken
  • Sourcing display names from each native platform OSS rather than EOS Connect, which doesn’t own that data
  • Storing TOnlineAsyncOpHandle as a member on the owning object to stop in-flight async ops from being cancelled prematurely

Also covered

EOS lobby integration with join codes, an EOSPlus-based crossplay architecture, and the coordinate-system questions that come with wiring this into an existing UE5 project.