Project status overview · Issue #24 · godot-rust/gdext (original) (raw)

This issue gives a broad overview over features that are already implemented, those that aren't, and links to the respective issues.

See also:

This list is not going into too much detail; for that, consult the issue tracker. It focuses on features only, while bugfixes, refactors, documentation and other quality-of-life improvements are omitted. This is meant to be a read-only issue; for questions, contact us on Discord.

Please note that the GDExtension port for Rust is still early-stage. In general, if you think something is not yet implemented, it likely isn't 🙂

Legend

🌑 -- not available
⛽ -- very early-stage, barely usable
🚧 -- in development
🌲 -- somewhat usable (doesn't mean finished, and API likely still changes)

Built-in types

See also #310

Feature Status Issue PRs
Scalars (i64, bool, ...) 🌲
User objects 🌲
Engine objects 🌲
GString, StringName 🌲 #980
NodePath 🌲 #982
Variant 🌲
Arrays 🌲 #33 #85 #101
Packed arrays 🌲 #6 #91
Dictionaries 🌲 #6 #92 #99
Vectors 🌲 #6 #71 #67
Matrix types 🌲 #124 #770
Plane + bounding boxes 🌲 #209 #180 #218
Quaternions 🌲 #68 #981
Color 🌲 #123
Callable 🌲 #6 #231 #979
Signal 🌲 #8 #570
Rid 🌲 #102 #171

Registration (export Rust to GDScript)

Feature Status Issue PRs
Classes 🌲
Functions 🌲
Properties 🌲 #3 #31 #147 #177 #198
Signals 🚧 #8 #279 #1000 #1075 #1111
Enums 🌲 #7 #371
Builder API 🌑 #4
Docs visible in Godot 🌑 #178
Virtual Methods (_ready, ...) 🌲 #191 #136 #207 #223
Script virtual methods (Rust based) 🌲 #606
@onready support 🌲 #130 #534

Engine interaction (call Godot from Rust)

Feature Status Issue PRs
Printing 🌲
Variant conversions 🌲 #452 #421
Object FFI 🌲 #156
Class method calls 🌲
Static method calls 🌲 #43
Utility method calls 🌲 #382
Property access 🌑
Constants 🌲
Enums + bitfields 🚧 #185
Double precision 🌲 #149
Async/await 🌲 #261 #640 #1043
Copy Godot docs 🌑

Platform support

Feature Status Issue PRs
Linux 🌲
Windows 🌲
macOS 🌲
Android #470
iOS #498
WebAssembly 🚧 #438 #493