Description
Many GDExtension projects also support their native code being built as an engine module. See for example Zylann's Voxel Plugin.
This can be achieved fairly easily using methods demonstrated in that repo and even inside Terrain3D's own register_types.h.
The main benefit of this is allowing a unified build system, automatically supporting other platforms such as consoles without needing to manually build godot and then go and build all the extensions and not having to manually ship libraries for all platforms, people simply clone the engine and recompile.
Whilst the overall monorepo style of this project prevents this from being entirely plug and play even with the required code changes (due to having a demo project etc) making the necessary changes to the native code to allow people who wish to set up this build configuration I think is a worthy addition.
Description
Many GDExtension projects also support their native code being built as an engine module. See for example Zylann's Voxel Plugin.
This can be achieved fairly easily using methods demonstrated in that repo and even inside Terrain3D's own
register_types.h.The main benefit of this is allowing a unified build system, automatically supporting other platforms such as consoles without needing to manually build godot and then go and build all the extensions and not having to manually ship libraries for all platforms, people simply clone the engine and recompile.
Whilst the overall monorepo style of this project prevents this from being entirely plug and play even with the required code changes (due to having a demo project etc) making the necessary changes to the native code to allow people who wish to set up this build configuration I think is a worthy addition.