Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Rust bindings for Godot 4

License

NotificationsYou must be signed in to change notification settings

godot-rust/gdext

Repository files navigation

logo.png

Rust bindings for Godot 4

Website |Book |API Docs |Discord |Mastodon |Twitter |Sponsor

gdext is a library to integrate the Rust language with Godot 4.

Godot is an open-source game engine, focusing on a productive and batteries-included 2D and 3D experience.
ItsGDExtension API allows integrating third-party languages and libraries.

Rust bindings for Godot 3 (GDNative API) are available ingdnative.

Philosophy

The Rust binding is an alternative to GDScript, with a focus on type safety, scalability and performance.

The primary goal of gdext is to provide apragmatic Rust API for game developers.

Recurring workflows should be simple and require minimal boilerplate. APIs are designed to be safe and idiomatic Rust wherever possible.Due to interacting with Godot as a C++ engine, we sometimes follow unconventional approaches to provide a good user experience.

Development status

The gdext library has evolved a lot during 2023 and 2024 and is now in a usable state for smaller projects.However, there are still certain things to keep in mind.

Warning

The public API introduces breaking changes from time to time, primarily motivated by new features and improved ergonomics.Ourcrates.io releases adhere to SemVer, but may lag behind themaster branch. See alsoAPI stability in the book.

Features: Most Godot APIs have been mapped at this point. The current focus lies on a more natural Rust experience and enable more designpatterns that come in handy for day-to-day game development. See#24 for an up-to-date feature overview.

At the moment, there is experimental support forWasm,Android andiOS, but documentation and tooling is still lacking. Contributions are very welcome!

Bugs: Most undefined behavior related to the FFI layer has been ironed out, but there may still be occasional safety issues. Apart from that,new additions to the library are typically not feature-complete from the start, but become more robust with feedback and testing over time.To counter bugs, we have an elaborate CI suite including clippy, unit tests, engine integration tests and memory sanitizers. Even hot-reload is tested!

Getting started

To dive into Rust development with gdext, check outthe godot-rust book. The book is still under construction,but already covers aHello World setup as well as several more in-depth chapters.

To consult the API reference, have a look at the onlineAPI Docs.

Furthermore, we provide some practical examples and small games in thedemo-projects repository.

If you need help, join ourDiscord server and ask in the#help channel!

License

We use theMozilla Public License 2.0. MPL tries to find a balance between permissive (MIT, Apache, Zlib) and copyleft licenses (GPL, LGPL).

The license provides a lot of freedom: you can use the library commercially and keep your own code closed-source,i.e. game development is not restricted. The main condition is that if you change gdextitself, you need to makethose changes available (and only those, no surrounding code).

Contributing

Contributions are very welcome! If you want to help out, seeContributing.md for some pointers on getting started.

Sponsor this project

  •  
  •  
  •  
  •  

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp