I started looking at Godot a few weeks ago and got the basic game controller to work after a hello world. I know Godot is Open Source and Dynamo is Open Source and they both use C# scripting, but I’m not seeing anything about using them together, just wondering if I missed or maybe could inspire some collaboration. Not even sure what that would look like, but that’s why I started looking.
Certainly could be done, but it would require a fairly significant lift. Interoperability via other means might be more useful (import Gadot geometry into Dynamo; export Dynamo geometry into Gadot format; etc.).
What in particular do you think Dynamo would be well suited for in that environment?
I’m not entirely sure yet… just brain storming. They are both such open canvas it’s almost analysis paralysis.
Yep, that’s the hard part. First thing to ask: does gadot have an open API? Does it have the capability to have add-ons layered in? Can stuff be sent via command line?
Without a specific use case it’s hard to get started though.
Is this for just generating geometry or for running actual code in the game loop? If the former, then exporting mesh from dynamo formatted in a way you can read and build in godot is fairly easy and quite a common way of exchanging data between apps.
If the latter though, as Jacob already said, would be quite a big job (if godot even allows this - quite often these types of tools are written with editor GUI and using native libraries). Also, I have a feeling it could really hamper performance in the game loop, I’m not sure how optimised Dynamo is as I’ve never really benchmarked it in this context, but I doubt running a script 60+ times a second was in their design scope (could be wrong though). So, my guess is you might also need to compile the Dynamo script down into native engine code for best performance. That’s all after you have got the integration working and create the bare minumum hooks into the engines run cycle so that the script is fired automatically by the engine etc.
If I’m honest, it’s probably a lot easier to just write it in the game engine directly, I use Unity and this would be my preferred approach, a lot easier and less headache than integrating 3rd party applications and if I needed a data bridge between dynamo, I would just write an adapter/extension with pipes or some other IPC service to allow data flow.
Shame Godot removed their visual scripting support, but for reference you can still see their source code if that is of interest, but it is C++…