C# worker SDK
The C# worker SDK allows anyone to write a worker in C# to connect to a SpatialOS simulated world. Like any other worker, a C# worker can subscribe to information for a part of a simulated world, visualize it, and perform some computation on behalf of the simulated world.
The SDK provides an API that allows you to connect to a simulated world, and send and receive component updates. Unlike the Unity3D integration, it does not come with any extra libraries, and in general provides a lower level API. However, it gives you more flexibility, and can be used to build other integrations on top.
The SDK also includes methods to load and save snapshots of the entire simulation from and to a file. This lets you write tools to perform offline transformations of the simulation state, or to programmatically create the starting point of a simulation. This functionality is documented in the C# worker SDK docs.
If you’re using a game engine we don’t have an integration with, you can use this SDK (or one of the other language SDKs) to integrate that game engine with SpatialOS.
The C# worker SDK assumes that you have the 64-bit version of Mono
installed on your machine, and that it is on your system path. This should include both
mono the runtime, and
xbuild. The SpatialOS deployment clusters have version
18.104.22.168-0xamarin1 or newer
installed and on
PATH, including the 64-bit version. This is the environment managed workers
will run in.
Note that the macOS version of Mono is distributed as a universal binary, which requires
--arch=64 to be
passed to the command line when launching your worker.
On Windows, Mono is required only for the generated build scripts.
On macOS, the C# worker SDK works with the latest Mono.