gdext icon indicating copy to clipboard operation
gdext copied to clipboard

Rust bindings for Godot 4

Results 146 gdext issues
Sort by recently updated
recently updated
newest added

**Background:** type-ptr is passed to a Godot FFI function, representing the return type as an output parameter. This type-ptr contains _the address_ of an object-ptr. **Problem:** the object-ptr was not...

bug
c: ffi

_Upstream issue: https://github.com/godotengine/godot/issues/66231_ On Windows, the Godot editor "locks" a DLL containing a GDExtension library and releases it only after shutdown. Native code can thus not be recompiled as long...

bug
status: upstream

This is friendly note so that you don't freak out when seeing this project it broken against Godot's master :smiley: see https://github.com/godotengine/godot/pull/67750 & https://github.com/godotengine/godot-cpp/pull/896 Basically GDExtension API uses `StringName` (almost)...

quality-of-life
c: ffi

There are some low-hanging fruits for making the library faster, this issue tracks such approaches. **Codegen** - [ ] Check `rustfmt` performance -- parallelize or allow skipping - [x] Cache...

feature

When "minimal" was added as a feature, `examples` and `itest` included the `godot` package with the feature "minimal". As a result, when building the workspace, even if the workspace is...

bug
c: tooling

Currently, `RefCell` and `i32` are used to store user-defined `GodotClass` instances and their reference counts: https://github.com/godot-rust/gdextension/blob/a64f22409e05d1353492fded4aa36a4b4e6b710d/godot-core/src/storage.rs#L15-L21 In a multi-threaded configuration of the engine, this may lead to unsoundness when the...

feature
c: ffi
hard

Bindgen not only adds a ton of dependencies that slow down initial compilation, but it is regularly an obstacle for users to get started, because they don't have LLVM installed...

quality-of-life
c: tooling

As soon as the library becomes a bit more stable, we can release our first `0.x` versions to crates.io. Crate publishing was in the past blocked by unreleased dependencies, see...

quality-of-life
c: tooling

Similar to the old `NodeResolveExt`, utility methods would allow more idiomatic access to the scene tree. Those could be provided as an extension trait or in a dedicated module/struct. Examples:...

feature
c: engine

Once #3 and #4 are ready, enums could be supported. Maybe this could start as a builder API, and then proc-macros. See also: https://github.com/godot-rust/godot-rust/pull/775

feature
c: register