Godot GDExtension binding for Nim-lang.
For instance to use, see demo. See wiki to get more detail.
Note
This library is not yet stable. If you encounter any problems in practical use, we encourage you to consider to create an Issue, as it is most likely on the library side. Either way, we will try to help.
- Godot 4.3 full api
- Available to define&export your Class/Function/Signal/Property
- Available to call engine functionalities from Nim
- GLSLang-like swizzle operator (e.g. vector3.xxxyyyzzz)
- Commandline-helper (see wiki - gdextwiz)
- Define/Call virtual methods
-
Hot reloading
It works, but sometimes the editor crashes.
- Assist to generate a .gdextension file
- Export descriptions
- Develop engine plugins
nimble install https://github.com/godot-nim/gdext-nim
nimble install https://github.com/godot-nim/gdext-nim@#head
nimble uninstall gdext
nimble uninstall gdext && nimble install https://github.com/godot-nim/gdext-nim
gdextwiz run testproject
nimble test
- Linux
- Macos
- Windows
- godotengine/godot 4.3.0
- nim-lang/nim 2.0.0 or higher Use Nim installed via Homebrew, not choosenim. Due to the execution environment of Godot itself, a native AArch64/ARM64 build of Nim is required, and that choosenim installs a x86_64 build emulated via Rosetta.
Note
Support for environments not listed here is based on your reports. Please consider contributing.
- OS: Linux (Arch)
- Engine: Godot 4.3.stable.arch_linux
- Nim: 2.0.0, 2.0.12, 2.2.0
- CC: gcc version 14.2.1 20240910 (GCC)