2. How the GDK for Unreal fits into your game stack

Previous: 1. How it works

When you set up your game using the SpatialOS GDK for Unreal, you add GDK functionality to your game’s servers and game clients. These interact with the SpatialOS Runtime which co-ordinates the game world.

Image: Architecture of a game developed with the SpatialOS GDK for Unreal.

Image: Architecture of a game developed with the SpatialOS GDK for Unreal.

The SpatialOS Runtime

There is a SpatialOS Runtime instance for every game world, holding SpatialOS representations of Unreal Actor data in its entity database. The Runtime determines which Unreal Engine server simulates each Actor, and coordinates updates to Actor data between multiple game servers and between game servers and game clients.
(Learn more about the Runtime.)

Servers and game clients

For a game developed using the GDK for Unreal:

  • Servers: SpatialOS replicates Unreal Actors, Components and Subobjects and executes RPCs to send updates to the SpatialOS Runtime. SpatialOS also sends updates from the Runtime to servers and between servers.

  • Game clients: SpatialOS executes RPCs to send updates from game clients to the SpatialOS Runtime. SpatialOS also sends updates from the Runtime to game clients.

The game clients, servers, and SpatialOS Runtime all use SpatialOS networking protocols to send updates.

Game monitoring

You can monitor the state of game clients, servers and the game world with SpatialOS tools, as well as view logs and metrics.

Next: 3. Offloaded servers


Last edited on: August 5, 2021 (7f2b34fb)