These are the docs for 13.3, an old version of SpatialOS. The docs for this version are frozen: we do not correct, update or republish them. 14.5 is the newest →



If you see a DllNotFoundException, make sure that you are running the 64-bit version of mono.

On macOS, mono can default to 32-bit, so please either use the --arch=64 flag by passing it as the first argument, e.g. mono --arch=64 CsharpWorkerName.exe, or run mono64 directly, to ensure that SpatialOS SDK native libraries are loaded correctly. This flag is only valid for macOS versions of Mono.

Xbuild bug

The generated build scripts use wildcards to specify which generated code sources should be compiled. xbuild (the Mono build tool) reports warnings about source files being included multiple times if they use wildcards, which is a known bug in the compiler. If you see warnings such as

or similar during your build, you can safely ignore them.

## Assembly loading bug

The mechanism to resolve a component metaclass to the associated `ComponentId` (`ComponentDatabase.MetaclassToId`) can fail.
If it does, you will get an `ArgumentException`, with a stacktrace similar to the following:

System.ArgumentException: Component is not registered. at Improbable.Worker.Internal.ComponentDatabase.MetaclassToId[C]() … ```

This occurs if the assembly containing the generated code has has not been loaded before your code runs, as assemblies are loaded lazily. You can work around this by manually loading the assembly, i.e. Assembly.Load("GeneratedCode"). GeneratedCode is the correct assembly name if you are using the generated build scripts, otherwise it may be different.

Search results

Was this page helpful?

Thanks for letting us know!

Thanks for your feedback

Need more help? Ask on the forums