Warning: Beta version. There might be crashes, pieces of the API not working or straight up missing. That being said, we appreciate you testing HxGodot in smaller projects. Feel free to get in touch in should you face issues or bugs. ➜ Report on Github.

HxGodot - A Haxe GDExtension for Godot 4

Haxe is an open source high-level strictly-typed programming language with a fast optimizing cross-compiler.

The Godot Engine is a free, all-in-one, cross-platform game engine that makes it easy for you to create 2D and 3D games.

He is right. Now, let's do something about that, shall we?

HxGodot combines Haxe's hxcpp target with Godot 4's latest GDExtension mechanism to transfor the way you build games with Godot 4. Nodes are written in Haxe, bundled as a native GDExtension and behave like any other native Node in your scenes(e.g. attach scripts, signals, etc).

At the same time Haxe has a wealth of game frameworks and libraries available that can used inside of Godot, now. In general any library that is either pure Haxe or supports cpp's static linking should work.

Under the hood we leverage Haxe's advanced macro system to generate a full set of bindings you can use interact with all classes/built-ins exposed in Godot 4.

Supported Platforms

  • Windows: x86_64 (float_64)
  • Linux: x86_64 (float_64)
  • Macos: x86_64 [arm64] (float_64)
Apple Silicon [arm64] is technically supported but needs some manual tweaks atm.
Support for mobile is planned but not a priority right now.

Screenshots

Godot and Haxe working in tandem

Squash-the-creeps-Sample: Godot and Haxe working in tandem

Utilizing grig.midi you can read and write MIDI from Godot 4

MIDI-Experiment: Utilizing grig.midi you can read and write MIDI from Godot

Use Godot built-ins seamless in your Haxe-Code

See HxGodot's Readme: Use Godot built-ins seamless in your Haxe-Code

Contributing

At this point, the library is still considered beta, so expect explosions or missing pieces. That being said we appreciate you testing the projects/libraries in smaller projects and get in touch in should you face issues or bugs.

➜ Join us on Discord #hxgodot channel

➜ Issues on Github

➜ Follow me on Twitter

➜ Follow me on Mastodon

ko-fi