Get SpatialOS




A snapshot is a representation of the state of a SpatialOS world at a given point in time. It stores each persistent SpatialOS entity and the values of their SpatialOS componentsproperties.

You must generate a snapshot as the starting point for your SpatialOS world when you create a new GDK project.

NOTE: You can find out more about snapshots in the SpatialOS snapshot documentation but this documentation concentrates on working with snapshots using the SpatialOS SDKs rather than the GDK for Unreal.

How to generate a snapshot

How to generate a snapshot

To generate a snapshot, on the SpatialOS GDK toolbar in the Unreal Editor, select Snapshot .


Image: The GDK Toolbar.

This creates a snapshot called default.snapshot which you can find in spatial\snapshots.

If you want your snapshots to be exported to a different path you can specify the output path and file name of the snapshot using the GDK toolbar settings.

What’s listed in snapshots

The GDK snapshots contain two kinds of SpatialOS entities: Critical entities, and placeholder entities.

Critical entities

Critical entities are listed in snapshots by default.

Critical entities are functionality critical for the GDK; do not delete them. SpatialOS needs them for launching a deployment. You save these into your initial snapshot when you generate it.

The critical entities are:

  • SpatialSpawner - an entity with the PlayerSpawner component which contains the spawn_player command. Client-workers connecting to a deployment use this entity to spawn their player.
  • GlobalStateManager - an entity with the GlobalStateManager component which has a map of singleton classes to entity IDs (see Global State manager glossary entry). The GDK uses this entity to orchestrate the replication of Singleton Actors.

Placeholder entities

Placeholder entities are listed in snapshots by default. You can opt to exclude them when generating a snapshot via the SpatialOS GDK toolbar.

These entities exists only to set up server-worker boundaries in a way that is easy to test with multiple server-workers. These entities do not spawn as Actors when checked out by a worker and serve no purpose within the GDK. In most cases you can safely ignore them.

Search results

Was this page helpful?

Thanks for letting us know!

Thanks for your feedback

Need more help? Ask on the forums