Multiplayer Framework

The multiplayer framework that the Multiplayer Gem provides is built on top of AzNetworking. The Multiplayer Gem supports entity-based asynchronous networking in Open 3D Engine (O3DE), using event-driven network properties and remote procedure calls to synchronize O3DE components and entities across a network, giving you tools to make a multiplayer game.

The Multiplayer Gem supports the following:

  • Server authoritative networking model
  • Player spawners
  • Entity replication
  • Push-based synchronization
  • Event-driven network properties
  • Reliable and unreliable remote procedure calls
  • Local prediction
  • Network input handlers

Section topics

OverviewAn overview of the O3DE Multiplayer Gem. Includes an introduction to multiplayer components, which provide network state synchronization.
Configuring a ProjectHow to add and enable the O3DE Multiplayer Gem in a project.
Running Multiplayer ProjectsHow to run projects that use the O3DE Multiplayer Gem.
Multiplayer Auto-componentsHow to automatically create components for use with the Multiplayer Gem using the AzAutoGen system.
Separating Client and ServerHow to separate client and server logic and build dependencies.
Testing Multiplayer Projects in the EditorHow to automatically launch local servers or connect to a remote persistent server when working on a multiplayer project in the O3DE Editor.
Network Entity HierarchiesHow to group network entities into hierarchies that process their input together.
Spawning PlayersHow to spawn an entity for a connecting player to control.
Debugging Multiplayer DesyncsHow to analyze and debug multiplayer desynchronizations using the built-in Desync Audit Trail tool.
Network and Multiplayer SettingsSettings to control the client and server behavior in AzNetworking and the Multiplayer Gem.
Multiplayer ComponentsReference documentation for multiplayer components.
Multiplayer Gem API ReferenceThe complete C++ API reference for the O3DE Multiplayer Gem.
Multiplayer Compression GemAn example Gem showing how to implement network compression.
Multiplayer Sample Download the multiplayer sample to help you experiment with the features in the Multiplayer Gem.
Tutorial: Your First Network ComponentTutorial for creating a network-enabled component.