mrkeyoor.com_
Fri 16 Oct 18:53 UTC
Dev Toolsevaluationupdated 12 Oct 2026

bevy review

Bevy is a free Rust game engine for building games with sprites or three-dimensional scenes. It handles graphics, audio, and game objects while you write the rules that make those objects behave.

+184stars / 7d
Verdict

Our Bevy run installed 523 packages in 18 seconds and built successfully in 527 seconds, but the test command timed out at 900 seconds with compilation still in the log. Use it if Rust functions and replaceable engine parts fit how you want to make games, and you can own API migrations. Choose another engine if your team needs a stable API or cannot validate its chosen rendering path on the target hardware.

We ran it

Lab card: what happened when we ran bevyScreenshot of bevy (bevy.org)
Install✓ · 18s523 packages
Build✓ · 527s
Tests✗ timed out · 900sran, no count parsed
Repo3057 files~669,969 lines of source · 89.3 MB · 14 CI workflows · tests dir

Answers from our run

Does bevy build from source?

Dependencies installed in 18 seconds (523 packages), and the build succeeded in 527 seconds. We cloned commit 844390b into a clean Debian container with 3 CPUs and no project-specific setup.

Do bevy's tests pass?

We could not finish them: the suite was still running after 15 minutes in our container.

Who should not use bevy?

Teams that need a stable engine API throughout development: the README warns of breaking releases and migrations that may be difficult.

What are the alternatives to bevy?

Godot, Fyrox, Macroquad. Our Bevy run installed 523 packages in 18 seconds and built successfully in 527 seconds, but the test command timed out at 900 seconds with compilation still in the log.

Setup3/518-second install, 527-second build, unfinished 900-second test command
Docs3/5Useful setup guides and examples; README admits sparse documentation
Community5/5October 12 push, active rendering discussions, and 48,940 stars
Maturity3/5v0.20.0 released; README still warns of missing features and API breaks

Discussed on

  1. hnBevy: A game engine built in Rust173 points
  2. hnBevy – A refreshingly simple data-driven game engine built in Rust7 points
  3. hnThe "No Clear Winner" Era of Federated Microblogging4 points
  4. hnBevy: A refreshingly simple data-driven game engine built in Rust4 points

Who it’s for

Rust developers who want game behavior written as functions acting on shared object data.
Teams that want to choose or replace engine features through plugins and Cargo feature flags.
Game developers who can pin releases and budget for the API migrations the README warns about.

Who it’s NOT for

Teams that need a stable engine API throughout development: the README warns of breaking releases and migrations that may be difficult.
Beginners expecting a complete learning path: the README describes documentation as sparse and says important features are still missing.
Mac developers relying on Solari without a hardware trial: open issue 26131 reports raytracing-layout errors on an M2 Max with Bevy v0.20.
Organizations tied to an old Rust compiler: Bevy says its minimum supported compiler generally stays close to the latest stable Rust release.

Setup reality

Our fresh Debian sandbox installed commit 844390b in 18 seconds, adding 523 packages. The build succeeded in 527 seconds, but tests timed out at 900 seconds. The final log lines still show compilation, including Bevy v0.20.0-dev, without a completed test summary or an assertion failure.

The local quick start needs Rust and Cargo, plus operating-system tools and libraries. It requires no hosted service account or API credential. Linux instructions separately cover windowing, audio, and device libraries; Windows needs C++ tools, and macOS needs Xcode command-line tools.

A compiled engine still needs an appropriate graphics environment to display a game. Follow the platform guide, match examples to a pinned release, and treat optional dynamic linking as a development choice. Our unprivileged lab-rust:1 container had 3 CPUs and 12 GB of RAM; the build result supplies no visual or frame-rate measurement.

Rust functions control how your game behaves

Bevy's movement logic can be an ordinary Rust function that selects objects with position and velocity data. Its ECS guide explains the arrangement: objects are entities, their properties are components, and systems process matching components. You write the rules that move those objects. That suits someone who wants game behavior expressed in code and is comfortable organizing it around shared data.

The engine also handles rendering, including sprite sheets for 2D games and meshes, lights, and glTF loading for 3D scenes. Our checkout contained 3,057 files and roughly 669,969 lines of source. That breadth gives you room to replace engine parts through plugins, but it demands more reading than a drawing library. Choose Bevy because you want its architecture, rather than because Rust happens to be your preferred language.

What happened when we ran it

Our run installed Bevy in 18 seconds, adding 523 packages, and completed the build in 527 seconds. Tests timed out at 900 seconds. We cloned commit 844390b on October 4, 2026, into a fresh Debian sandbox with 3 CPUs and 12 GB of RAM, using image lab-rust:1. The container was unprivileged and held no secrets.

The final test-log lines still show compilation: bevy_internal, bevy-settings, and bevy identify themselves as v0.20.0-dev, alongside packages such as argh and ureq. The supplied tail contains no assertion failure or completed test summary. The finding is an unfinished test command. It doesn't identify a broken game feature, a missing system package, or the cause of the timeout.

The checkout occupied 89.3 MB before installation. Our scan found 14 CI workflow files and a tests directory, with no Dockerfile. Those are useful signs that upstream has checks, although they can't substitute for a completed local suite. The successful build establishes that this commit compiled through our chosen path. It doesn't establish rendering quality, frame rate, or whether every supported platform works.

Cargo leaves you with operating-system setup

The 523 packages in our install belong to the measured repository setup. Bevy's Linux dependency guide separately lists packages for audio, windowing, and device access, including libasound2-dev and libudev-dev in its Ubuntu instructions. Graphics drivers also depend on the machine. A new developer should follow that linked guide before trying the README's Breakout example. The local quick start needs no hosted service account or API key.

Bevy's setup guide also covers Windows C++ tools and macOS command-line tools. It documents development optimization settings and optional dynamic linking, then warns against shipping with dynamic linking enabled. Our 527-second build gives a concrete reason to examine that configuration. We didn't measure an edit-and-rebuild cycle, so there is no measured saving to promise. Keep the development configuration and the executable you distribute deliberate choices.

The README warns that upgrades can break your code

Bevy v0.20.0 was released on October 8, 2026, after the v0.20.0-dev commit in our sandbox run. The release entry links the changes since v0.19.1. The README tells newcomers to switch to the latest branch for examples because the default branch is development work. Match examples and documentation to your chosen release before treating an unfamiliar compiler message as your own mistake.

The README explicitly warns about missing features, sparse documentation, and breaking API changes, with migration guides that may still require effort. Our 900-second test timeout is a separate finding, not evidence of API instability. The maintainers' warning alone is enough to rule Bevy out for a team that cannot reserve time for engine migrations. Pinning a release lets you choose when to upgrade, but leaves you responsible for that choice.

Solari has an open Mac rendering report

Issue 26131, opened October 12, reports Solari rendering errors with Bevy v0.20 on an Apple M2 Max running macOS Tahoe. Its log names an invalid raytracing bind-group layout and sampler-binding limits. This concerns the bevy_solari example specifically. The report addresses runtime behavior, a separate question from our successful 527-second build. It would be misleading to stretch it into a claim that ordinary Bevy rendering fails across Macs.

Our 3-CPU, 12 GB container run supplies no visual result that could settle the report. If Solari is the feature selling you on Bevy, require a working representative scene on your target Mac before committing. A successful repository build cannot answer that hardware question. Someone shipping conventional sprite rendering has a different decision to make and should evaluate the rendering path they actually intend to use.

Godot and Fyrox offer scene editors

A team accepting our 527-second Bevy build still needs to agree on how it will author scenes. Godot is the first alternative I'd try when collaborators need a visual editor and an established scene-authoring workflow. Fyrox keeps Rust in the picture and includes a scene editor. For a small game built around direct drawing calls, Macroquad provides a simpler conceptual starting point: its example draws shapes inside a loop. These are workflow choices, not measured speed comparisons.

An October 12 push shows continued development

Bevy's last push was October 12, 2026. GitHub listed 48,940 stars and 3,494 open issues and PRs. Recent activity includes rendering reports and proposed fixes, alongside the October 8 release. The combined queue isn't a count of confirmed bugs, and stars don't establish suitability. Together, the dated push and active discussion show maintenance without cancelling the README's warning about adoption effort.

Before adopting Bevy, put your game's hardest interaction into a small project on a pinned release. Include the rendering feature and platform you'll ship. Our 18-second install and successful 527-second build justify trying that exercise, while the unfinished 900-second test command leaves validation work open. If your team can't own the engine upgrades as well as the game code, choose an authoring workflow it can sustain.

Alternatives

ProjectWhat it isPick it when
Godot gh↗An open-source game engine with a visual editor and scene workflow.pick this instead when designers and developers need to author scenes in an editor.
FyroxA Rust game engine that includes a scene editor.pick this instead when you want Rust and a built-in scene editor together.
MacroquadA Rust game library whose examples use direct drawing calls in a loop.pick this instead when a small game needs drawing and input without adopting Bevy's entity-and-system architecture.

What people are saying

  1. [hackernews] Bevy 0.20
  2. [lobsters] Dropping Swift entirely from our Bevy iOS crates
  3. [github-trending] bevyengine/bevy

Sources

  1. Bevy README and repository activity
  2. Bevy v0.20.0 release
  3. Bevy development environment setup
  4. Bevy Linux dependencies
  5. Solari errors on M2 Max, issue 26131
  6. Godot repository
  7. Fyrox repository
  8. Macroquad repository

More dev tools reviews

compose-samples · librepods · sqlmap · coucou · world-execute-me-dsh-pv · mcp-extensions · the whole board →