Sites

Menu

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.

See the documentation on Workers in the GDK for information on the relationship between workers and ECS entities.

Core Module

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:

  • Improbable.Gdk.Core
    This provides the basic implementation to use SpatialOS natively in Unity.

  • Improbable.Gdk.Tools
    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.)

  • Improbable.Gdk.TestUtils
    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.

Feature Modules

Build System

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.

Deployment Launcher

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.

GameObject Creation

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.

Mobile

This feature module offers support to connect mobile client-workers to SpatialOS. See our Mobile Support documentation for more details on installation and usage.

Player Lifecycle

This feature module provides player creation functionality and a simple player lifecycle management implementation. See the detailed documentation for set up and usage instructions.

Query-based Interest

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.

Transform Synchronization

This feature module contains functionality that will automatically synchronize your entities’ transform. See our Transform Synchronization documentation for more details on installation and usage.

Search results

Was this page helpful?

Thanks for letting us know!

Thanks for your feedback

Need more help? Ask on the forums