SpatialOS 11.0.0 released

6 July 2017

Update – we have announced new Unreal and Unity game developer kits (GDKs) as improved versions of our SDKs. Find out more about the Unity GDK and Unreal GDK.

The latest version of SpatialOS is available now. Version 11 brings improvements, particularly to the way workers interact with the SpatialOS runtime. One of the most important changes is the expansion of our standard schema library, including components that were previously only available as additional features in the SDK.

The Standard Library Components

The “standard schema library” dates back to SpatialOS 9. At that time, the only way to control which workers could read or write to particular entities or components was from a legacy worker called the “GSim”, using APIs only available in Scala. To remove this reliance on the GSim, we had to come up with a new way to expose this functionality.

But we already had a perfectly good way of associating bits of data with entities - components and read/write access is really just a small piece of structured data associated with each entity. And you could already manipulate components from any worker - using the generated APIs associated with those components.

Therefore, the notion of a standard library component was born: components whose schema definitions were provided by SpatialOS, and which the runtime could inspect to provide core features, but which were otherwise functionally identical to an user-defined component.

In SpatialOS 11, we’re extending the set of standard library components. There are three new standard library components: Position, Metadata and Persistence.

  • Position defines the canonical position of each entity in a SpatialOS world, so that we know which workers need to know about which entities.
  • Metadata provides standardised information about entities. It can be used to associate an entity with Unity prefabs or Unreal blueprints, simplifying and standardising the data associated with game assets; and it’s used by the Inspector so you can tell what kind of entity you’re looking at.
  • Persistence makes it possible to choose which entities are included in snapshots taken of a running deployment, so that non-persistent elements (like players) can be excluded.

These new standard components ensure that all platform features have more consistent APIs, making them easier to understand and allowing us to deliver features faster.

You can read more about what these new components do in a longer forum post, which also talks about the benefits of this new architecture. For more information, check out the release notes and then upgrade here when you’re ready. You can also let us know any feedback you have on the community forums.

Once you’ve completed your upgrade, follow the button below to head to your console and see the new patch in action.

Find out about games already being made with SpatialOS on the Featured Games page of our gaming blog.