Godot GDExtension binding for Nim-lang.
For instance to use, see demo. See wiki to get more detail.
- 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)
-
Hot reloading
It works, but sometimes the editor crashes.
- Export enums
- Assist to generate a .gdextension file
- Export descriptions
- Define/Export virtual methods
- 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.8, 2.2.0
- CC: gcc version 14.2.1 20240910 (GCC)