Feature Modules Overview
This document relates to both MonoBehaviour and ECS workflows.
The SpatialOS GDK for Unity consists of several modules: the Core Module and multiple Feature Modules. The Core Module provides the functionality to enable your game for SpatialOS, while Feature Modules provide functionality that is not needed to connect to the SpatialOS Runtime but makes it easier to implement your game; such as player lifecycle or transform synchronization. Each module has helper functions which you can use to add the module’s functionality to a worker.
The Core Module contains multiple packages (or “assemblies”) that you need to use to set up your Unity-developed game to work with SpatialOS. The packages are:
This provides the basic implementation to use SpatialOS natively in Unity.
This contains the code generator which generates C# code from your schema file and the tools to download dependent SpatialOS packages. (See the SpatialOS documentation on schema.)
This provides both a testing framework, which you can use to test any other module and a test which you can use to validate the state of the overall project.
This feature module provides tooling for building your GDK for Unity workers inside the Unity Editor. See our build system documentation for more details on installation and usage.
This feature module contains Unity Editor tooling for uploading assemblies, and managing SpatialOS deployments. See the Deployment Launcher documentation for more details on setup and usage.
This feature module contains a default implementation of spawning GameObjects for your SpatialOS entities and offers the ability to customize that process. See the detailed documentation for set up and usage instructions.
This feature module provides player creation functionality and a simple player lifecycle management implementation. See the detailed documentation for set up and usage instructions.
This feature module contains methods that enable you to easily define the
Interest component used by Query-based interest. See the detailed documentation for set up and usage instructions.
This feature module contains functionality that will automatically synchronize your entities’ transform. See our Transform Synchronization documentation for more details on installation and usage.