Improbable Icon

C++ and C support




This is my first post and I feel really excited about SpatialOS, this is exactly what we were looking for!.

So I have two questions:

  1. Is there any way to access to the C++ interface (for the client)?. We really would like to experiment with this.

  2. Is there any possibility to have a C client interface?. This might be an unusual request, but is mandatory for our engine. We could even consider to dedicate in-house resources to make the port from C++ if necessary. This would be a mandatory requirement for our project to consider SpatialOS as a possibility.

Regards and congratulations this project definitely have a lot of potential.


Javier Bizcocho.


Hello @Sh0X / Javier!

Welcome to the forums. It is really great to hear how excited you are about SpatialOS! We are too :laughing: . Above all it’s also great to hear that from your initial perspective it looks like a good fit for your project. Let’s make sure to keep it that way! In any case you’ve come to the right place. If you take the time to look around you will see that there are a lot of other developers that are very keen on exchanging ideas ranging from the best practices for designing a game running on SpatialOS to the new kinds of story-writing that it allows for.

More to the point with the answers to your questions:

  1. Unless I’m completely mistaken by what you want to achieve I think the C++ Worker SDK is exactly what you are looking for.
  2. We don’t currently have a C SDK (we do have other languages like C#, Java) and it is not in our plans for the near-future to provide a C SDK. However, if you can give more details about why it is a mandatory requirement there might be alternative possibilities for you (no promises of course :wink: ). On a secondary note, on the same topic, what is the engine that you want to use for your project and that has C linkings as a mandatory requirement?

I am certain that people from Improbable like me, and also other users, will be happy to provide you with further insights and ideas if you want to take on the discussion and to answer any technical questions you may have.

Best regards,


Hello @dvanamst!,
Thanks for the quick response, let me give you a little bit of context:
The core of our engine is made in pure C and ASM, due to scalability and portability requirements that we have. We are happy for the moment with the C++ worker because is not difficult for us to generate a C interface and work that way under Windows / Linux and OSX. But our ideal scenario will be to deploy on environments where the difference in object size between C and C++ code is huge due to runtime differences.

No problems for the moment, because we can start evaluating with C++ Worker.

Kind Regards,