Dynamically loading engine modules (without recompiling the engine) #11839
Closed
FlooferLand
started this conversation in
Engine Core
Replies: 1 comment
-
This is essentially the goal of GDExtension and godot-cpp. I know that we don't currently fully accomplish this goal (there are still numerous differences between modules and godot-cpp, both in API and capability) but I think that continuing to iterate on GDExtension/godot-cpp will get us there eventually. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I'm not sure how difficult this would be, but I view this as a logical progression of Godot's current addon system.
There are a lot of great modules (such as Zylann/godot_voxel that require either using a pre-built version of Godot, or compiling your own and slotting in any modules you need. While this isn't very difficult, having to compile Godot can be time-consuming and especially straining on the user's storage space and hardware.
I'm interested whenever it would be possible for Godot to load modules dynamically during the startup of the editor (or game) from
.dll
/.so
files next to the executable, allowing the distribution of pre-compiled library files directly.This would allow the user to easily have any combination of modules without even recompiling the engine, as they could just slot in these files.
A further progression of this idea, having a
modules
folder under every project and loading engine modules from there could allow engine modules to be uploaded onto Godot's asset store.Currently, addons are limited to either using GDScript, C#, or C++ via GDExtension, often choosing GDScript for the sake of compatibility with both mono and non-mono versions. I rarely see addons made with GDExtension, and more often than not are engine modules as they are less limiting.
Having modules as addons could also companies to more easily make and distribute Godot addons (FMOD, etc)
Beta Was this translation helpful? Give feedback.
All reactions