Skip to content

Commit fd4962c

Browse files
committed
List 3 tools/integrations
1 parent 4ea2a20 commit fd4962c

File tree

2 files changed

+76
-2
lines changed

2 files changed

+76
-2
lines changed

src/projects/img/godot-egui.gif

281 KB
Loading

src/projects/tools.md

Lines changed: 76 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,81 @@ Examples include:
77
* Libraries that directly enhance the godot-rust experience
88
* Libraries that connect godot-rust with other crates in the Rust ecosystem
99

10-
This page should only provide a high-level description of each project (a couple sentences), plus relevant links and optionally one screenshot. It should _not_ include tutorials or code examples, as they tend to become outdated very quickly. Instead, the project's repository or homepage is a much better place for advertising the concrete functionality the tool offers and providing introductory examples.
10+
This page should only provide a high-level description of each project (a couple sentences), plus relevant links and optionally one screenshot. It should _not_ include tutorials or extended code examples, as they tend to become outdated very quickly. Instead, the project's repository or homepage is a much better place for advertising the concrete functionality the tool offers and providing introductory examples.
1111

1212

13-
## (TODO: add project)
13+
### Table of contents
14+
<!-- toc -->
15+
16+
## godot-egui
17+
18+
_[GitHub](https://github.com/setzer22/godot-egui)_
19+
20+
![](img/godot-egui.gif)
21+
22+
**godot-egui** is an [egui](https://github.com/emilk/egui) backend for godot-rust.
23+
24+
This crate enables using the immediate-mode UI library egui within Godot applications and games. Updating UI widgets and properties directly from Rust code becomes straightforward, without going through Godot nodes, signals and the intricacies of GDNative's ownership semantics.
25+
26+
27+
## godot-rust-cli
28+
29+
_[GitHub](https://github.com/robertcorponoi/godot-rust-cli)_
30+
31+
**Godot Rust CLI** is a simple command-line interface to help you create and update Rust components for your Godot projects.
32+
33+
Example:
34+
```sh
35+
# create a Rust library `rust_modules` for the `platformer` Godot project
36+
godot-rust-cli new rust_modules platformer
37+
38+
# create player.rs + player.gdns
39+
godot-rust-cli create Player
40+
41+
# generate dynamic library to be called by Godot, automatically watch changes
42+
godot-rust-cli build --watch
43+
```
44+
45+
Note that there is also [godot-rust-cli-upgrader](https://github.com/robertcorponoi/godot-rust-cli-upgrader) to upgrade the CLI.
46+
47+
48+
## ftw
49+
50+
_[GitHub](https://github.com/macalimlim/ftw)_
51+
52+
**ftw** is a command-line interface to manage your godot-rust project. It enables you to set up projects, add native classes which are automatically wired up, and run build commands.
53+
54+
Example:
55+
56+
```sh
57+
# create new project using the default template
58+
ftw new my-awesome-game
59+
60+
# create a class that derives from `Area2D`
61+
ftw class MyHero Area2D
62+
63+
# create a class called `MySingleton` that derives from `Node`
64+
ftw singleton MySingleton
65+
66+
# build the library for the `linux-x86_64` platform using `debug` as default
67+
ftw build linux-x86_64
68+
```
69+
70+
71+
## gdrust
72+
73+
_[GitHub](https://github.com/wyattjsmith1/gdrust)_
74+
75+
**gdrust** is a an extension library to godot-rust. It adds ergonomic improvements and is an inspiration for godot-rust itself.
76+
77+
Example:
78+
79+
```rs
80+
#[gdrust]
81+
#[signal(signal_name(arg_name: I64, arg2_name: F64 = 10.0))]
82+
struct MyClass {
83+
#[export_range(1, 10, 2, "or_greater")]
84+
my_range: i32,
85+
}
86+
```
87+

0 commit comments

Comments
 (0)