Is bevy the best option for a Rust based game engine (long term)?

This page summarizes the projects mentioned and recommended in the original post on /r/rust_gamedev

Our great sponsors
  • Revelo Payroll - Free Global Payroll designed for tech teams
  • Onboard AI - Learn any GitHub repo in 59 seconds
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • SonarQube - Static code analysis for 29 languages.
  • geng

    Game ENGine for Rust Programming Language

    Fun fact: the author of that post works on his own engine called geng.

  • bevy_editor_pls

    In-App editor tools for bevy applications

    I think one part that makes this extra obvious is bevy UI and the attempts at an editor. I remember when https://github.com/jakobhellermann/bevy_editor_pls came along and I was very excited, but since then nothing has really happened on the editor front. Not that I need an editor personally, but what I find disappointing and telling is that this whole thing has been basically halted because of bevy's idea of having UI in the ECS.

  • Revelo Payroll

    Free Global Payroll designed for tech teams. Building a great tech team takes more than a paycheck. Zero payroll costs, get AI-driven insights to retain best talent, and delight them with amazing local benefits. 100% free and compliant.

  • bevy

    A refreshingly simple data-driven game engine built in Rust

    Having actually tried using bevy UI for something non-trivial I don't think ECS is possible path there, it feels like a complete anti-pattern to how UIs are done. I've seen many people argue this, but at the same time I've seen no real GUIs made with bevy UI. Their UI example https://github.com/bevyengine/bevy/blob/main/examples/ui/ui.rs is a great example of how bad the situation is. Compare it to say https://www.egui.rs/ which is mainly developed by one person.

  • rend3

    Easy to use, customizable, efficient 3D renderer library built on wgpu.

    The big problem I have with bevy here is that they seem to be very much against bevy being reusable across the ecosystem. Every feature has to be bevyfied into an ECS thing. There's no way one can use bevy_input for input handling outside of bevy, or bevy_audio for audio, or bevy_render to get a 3d renderer like https://rend3.rs/. The Rust ecosystem would've been so much better off if bevy wasn't creating a walled garden and draining insane amounts of effort just for itself, but say instead used rend3 for its rendering, so that other efforts in rust gamedev didn't have to reimplement everything from scratch.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts