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 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.
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.