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
| Topic | Description |
|---|---|
| Overview | An overview of the O3DE Multiplayer Gem. Includes an introduction to multiplayer components, which provide network state synchronization. |
| Configuring a Project | How to add and enable the O3DE Multiplayer Gem in a project. |
| Running Multiplayer Projects | How to run projects that use the O3DE Multiplayer Gem. |
| Multiplayer Auto-components | How to automatically create components for use with the Multiplayer Gem using the AzAutoGen system. |
| Separating Client and Server | How to separate client and server logic and build dependencies. |
| Testing Multiplayer Projects in the Editor | How to automatically launch local servers or connect to a remote persistent server when working on a multiplayer project in the O3DE Editor. |
| Network Entity Hierarchies | How to group network entities into hierarchies that process their input together. |
| Spawning Players | How to spawn an entity for a connecting player to control. |
| Debugging Multiplayer Desyncs | How to analyze and debug multiplayer desynchronizations using the built-in Desync Audit Trail tool. |
Related topics
| Topic | Description |
|---|---|
| Network and Multiplayer Settings | Settings to control the client and server behavior in AzNetworking and the Multiplayer Gem. |
| Multiplayer Components | Reference documentation for multiplayer components. |
| Multiplayer Gem API Reference | The complete C++ API reference for the O3DE Multiplayer Gem. |
| Multiplayer Compression Gem | An 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 Component | Tutorial for creating a network-enabled component. |
Overview
An overview of the Multiplayer Gem in Open 3D Engine (O3DE). Includes an introduction to multiplayer components, which provide network state synchronization.
Project Configuration
Learn how to add multiplayer support to an Open 3D Engine (O3DE) project or Gem. Includes instructions for creating a placeholder auto-component.
Running Multiplayer Projects
How to run multiplayer-enabled projects in Open 3D Engine (O3DE).
Auto-components
A reference for defining Open 3D Engine (O3DE) multiplayer states through auto-components.
Separating Client and Server
Build Open 3D Engine launchers with the Multiplayer Gem specifically targeting Clients, Servers or both.
Testing in Editor
Learn how to use O3DE Editor to test and edit synchronized multiplayer game projects in Open 3D Engine (O3DE).
Network Entity Hierarchies
A reference for creating network entity hierarchies in Open 3D Engine (O3DE).
Spawning Players
A reference for spawning and registering network player entities in Open 3D Engine (O3DE).
Debugging Multiplayer Desyncs
Analyze and debug multiplayer desyncs using the Multiplayer Desync Audit Trail tool in Open 3D Engine (O3DE).
Version Mismatch
Learn how to detect multiplayer version mismatch in Open 3D Engine (O3DE).