godot
godot copied to clipboard
GDExtension: Implement `GDExtensionLoader` concept
- Implements the concept of GDExtension loaders that can be used to customize how GDExtensions are loaded and initialized.
- Moves the parsing of
.gdextensionconfig files to the newGDExtensionLibraryLoader. GDExtensionManageris now meant to be the main way to load/unload extensions and can optionally take aGDExtensionLoader.EditorFileSystemavoids unloading extensions if the file still exists, this should prevent unloading extensions that are outside the user project.
How will this tie into https://github.com/godotengine/godot/pull/90979? Do we have a concept for what kind of UI could be developed to provide graphical access to the things GDExtensionManager manages?
How will this tie into #90979? Do we have a concept for what kind of UI could be developed to provide graphical access to the things GDExtensionManager manages?
I think this would only intersect with #90979 if it lists the loaded GDExtensions, and provides an "Edit" button. That UI will need to look out for loaded GDExtensions that don't use a .gdextension file, and either just list them (without the "Edit" button) or skip listing them entirely.
Thanks!
Just a note: I finished git bisecting and it appears that something about this PR has broken GDExtension loading on Android (Windows and Linux are working fine in my testing). I'm still trying to figure it out - I'll make an issue or PR when I do!