D language bindings for the Godot Engine's GDNative API, enabling game development in D.
Godot-D is a set of D programming language bindings for the Godot Engine's GDNative API, enabling developers to write game logic and extensions in D instead of GDScript or C++. It provides auto-generated bindings for Godot's full script API, allowing D classes to be exposed as native scripts with properties and methods accessible in the Godot editor.
D developers who want to use the Godot game engine for 2D/3D game development, and Godot users seeking a type-safe, performance-oriented scripting alternative to GDScript.
It offers an idiomatic D interface with compile-time safety, seamless integration via GDNative, and the ability to leverage D's metaprogramming features for game scripting, all while maintaining full compatibility with Godot's editor and runtime.
D language bindings for the Godot Engine's GDNative API
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Auto-generated bindings provide access to Godot's entire script API with D naming conventions, ensuring no engine feature is out of reach. The README shows examples like using OS.setWindowFullscreen(false) instead of snake_case.
Properties and methods can be exposed to the Godot editor via UDAs (@Property, @Method), enabling visual editing and instant feedback. The README demonstrates this with a TestButton class having editable properties.
Leverages D's compile-time features for type-safe game scripting, reducing runtime errors compared to dynamically-typed languages like GDScript. This is highlighted in the philosophy as offering a 'safer and more expressive' alternative.
Supports multiple entry point options, from automatic generation via DUB's pregenerate tool to manual GodotNativeLibrary mixin, catering to different project workflows. The README details both approaches with code examples.
Marked as WIP with no v1.0.0 release, leading to breaking changes, bugs, and missing documentation, making it unreliable for production use. The README explicitly warns of this in its 'WIP' note.
Requires managing DUB projects, platform-specific builds, and entry point configuration, adding significant overhead compared to Godot's built-in scripting. The README's setup steps involve multiple files and commands.
Relies on D, a less common language in game dev, resulting in limited community support, fewer learning resources, and potential compatibility gaps with Godot's ecosystem.