godot icon indicating copy to clipboard operation
godot copied to clipboard

GDExtension: Implement `GDExtensionLoader` concept

Open raulsntos opened this issue 1 year ago • 2 comments
trafficstars

  • Implements the concept of GDExtension loaders that can be used to customize how GDExtensions are loaded and initialized.
  • Moves the parsing of .gdextension config files to the new GDExtensionLibraryLoader.
  • GDExtensionManager is now meant to be the main way to load/unload extensions and can optionally take a GDExtensionLoader.
  • EditorFileSystem avoids unloading extensions if the file still exists, this should prevent unloading extensions that are outside the user project.

raulsntos avatar Apr 25 '24 16:04 raulsntos

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?

aaronfranke avatar May 16 '24 16:05 aaronfranke

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.

dsnopek avatar May 16 '24 21:05 dsnopek

Thanks!

akien-mga avatar Aug 26 '24 09:08 akien-mga

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!

dsnopek avatar Aug 28 '24 23:08 dsnopek