gdextension
gdextension copied to clipboard
GDExtension template that automatically builds into a self-contained addon for the Godot Asset Library. Updated to Godot 4.2.1.
trafficstars
gdextension
GDExtension template that automatically builds into a self-contained addon for the Godot Asset Library.
Getting started:
- Clone this repository (or a new repository with this template) with submodules.
git clone --recurse-submodules https://github.com/nathanfranke/gdextension.gitcd gdextension
- Update to the latest
godot-cpp.git submodule update --remote
- Build a debug binary for the current platform.
scons
- Import, edit, and play
project/using Godot Engine 4+.godot --path project/
- Check the output:
Hello GDScript! Hello GDExtension Node! Hello GDExtension Singleton!
Repository structure:
project/- Godot project boilerplate.addons/example/- Files to be distributed to other projects.¹demo/- Scenes and scripts for internal testing. Not strictly necessary.
src/- Source code of this extension.godot-cpp/- Submodule needed for GDExtension compilation.
¹ Before distributing as an addon, all binaries for all platforms must be built and copied to the bin/ directory. This is done automatically by GitHub Actions.
Make it your own:
- Rename
project/addons/example/andproject/addons/example/example.gdextension. - Replace
LICENSE,README.md, and your code insrc/. - Not required, but consider leaving a note about this template if you found it helpful!
Distributing your extension on the Godot Asset Library with GitHub Actions:
- Go to Repository→Actions and download the latest artifact.
- Test the artifact by extracting the addon into a project.
- Create a new release on GitHub, uploading the artifact as an asset.
- On the asset, Right Click→Copy Link to get a direct file URL. Don't use the artifacts directly from GitHub Actions, as they expire.
- When submitting/updating on the Godot Asset Library, Change "Repository host" to
Customand "Download URL" to the one you copied.