this post was submitted on 11 Oct 2025
12 points (100.0% liked)
Rust
7518 readers
47 users here now
Welcome to the Rust community! This is a place to discuss about the Rust programming language.
Wormhole
Credits
- The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Use Bevy with egui, just disable needless features. You'll get performance hit until there is an actual complete game inside.
For a graphics-intensive application, this (or something custom with egui).
Bevy also doesn't need to redraw every N milliseconds or anything. You can create a custom game loop and redraw only when needed, whether that's 60fps or only on window event.
There's also no reason a Bevy app couldn't be embedded within a larger application. You can create the Bevy app when needed, render to a render target rather than the window surface, then manually draw that where you need to in your egui app. This also means you can stop the app, or at least the game loop, when it's not needed anymore.
On the other hand, bevy is such a neat general manager and framework. You can run crossplatform parallel async within it, stall things with timers, set custom loop rates. I'm experimenting with using it as non-game frontend, and so far it seems much more suited for fast development than those reactive frameworks imitating js frameworks if something more complicated than simple ui is needed. The gaming community cares for each othes, so sweet. The only downside is 30mb wasm file for prototype level of complexity app, but I haven't even started optimizing yet, and it will not grow much probably once it becomes super sophisticated.
Sounds like Bevy would be the way to go, I found the bevy_egui crate which seems like it might be what I'm looking for to get started.