Install any skill in seconds. Free to start, no credit card required.
Get Started Free →jame581/gdextension
Use when building native extensions for Godot — godot-cpp (C++) or gdext (Rust), binding classes, building, and GDScript/C# interop
Passed 20 of 22 test cases with the skill, and 17 of 22 without it.
3 fixed17 passed either way2 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
This benchmark measured an earlier version of the skill.
A newer attempt on gemini-3.8-flash on 10/20/2026 did not produce a publishable comparison (not comparable). The snapshot above is the previously measured run.
One of 3 test cases the skill fixed. Same model, same prompt, with and without the skill.
In Godot 4.7, what is the new refcount-aware interface function used by GDExtension interface implementations to register custom extension classes?
| Checked | Without skill | With skill |
|---|---|---|
| identifies classdb_register_extension_class6 as the refcount-aware registration function | Missed | Passed |
The instructions your model reads when the skill loads.
Run native C++ (or Rust) in Godot as a shared library without recompiling the engine. Use it for performance-critical code, wrapping existing C/C++ libraries, or language bindings.
Related skills: csharp-godot for when C# is enough, gdscript-advanced for GDScript performance idioms first, godot-optimization for profiling before going native, addon-development for distributing the result, export-pipeline for shipping the binaries.
Reach for GDScript or C# for almost all game logic. Choose GDExtension only when you genuinely need it:
Contrast with C++ modules, which are compiled into the engine and therefore require shipping a custom engine binary. GDExtension's key advantage is that it runs against a stock Godot — you distribute just a shared library. It is "more complicated to use than GDScript and C#," so don't reach for it by default.
⚠️ Changed in Godot 4.7: The engine's built-in text servers (
text_server_adv,text_server_fb) can no longer be built as GDExtensions — theirgdextension_build/scripts were removed. Writing your own text server as a GDExtension by subclassingTextServerExtensionis unaffected. See GH-117056.
mkdir gdextension_example && cd gdextension_example
git init
# IMPORTANT: use the godot-cpp branch matching your target engine version (e.g. 4.3),
# not the literal "4.x".
git submodule add -b 4.3 https://github.com/godotengine/godot-cpp
cd godot-cpp && git submodule update --init && cd ..
Directory layout:
gdextension_example/
├── project/ # demo project to test the extension
│ └── bin/example.gdextension
├── godot-cpp/ # C++ bindings (submodule)
test cases passed, vs 17 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.