actually the hard part was how the heck did you linked c++ with c# interface ? why not to do everything with cpp, I think it’s easier than harder, any doc graph ?
To glue C++ with C# we use Mono (C# runtime & tools) + custom bindings generator (in
Flax.Build.exe - https://github.com/FlaxEngine/FlaxEngine/tree/master/Source/Tools/Flax.Build/Bindings).
We support 3 different scripting languages:
- C++ - the best performance and power with direct engine API access but requires more knowledge and is harder to write/maintain code
- C# - robust language for rapid programming with lots of tools and deep support in the engine (in fact Flax Editor is mostly written in C#)
- Visual Script - visual scripting with nodes is an easy way to prototype gameplay components and has very small learning curve. Also, we support whole engine API for VS so it’s easy to achieve everything with it.
Combination of those 3 things makes Flax more approachable for devs with Unity/Unreal experiance - easier to switch to Flax.
Also, we’re focusing on adding more C++ docs recently, see this stuff: