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
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • 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.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • 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