Open-Source Wikis

/

Bevy

/

Fun facts

bevyengine/bevy

Fun facts

Trivia from poking around the Bevy repo. Useful, mostly accurate, occasionally amusing.

The longest source files

The five largest Rust files in the workspace, by line count, all live in the foundational crates:

File Lines
crates/bevy_pbr/src/render/mesh.rs 4,741
crates/bevy_ecs/src/world/mod.rs 4,636
crates/bevy_ecs/src/query/fetch.rs 4,478
crates/bevy_reflect/src/lib.rs 4,268
crates/bevy_ecs/src/query/iter.rs 3,394

The PBR mesh renderer wins by a hair. The ECS query types come next — the Query API surface is a non-trivial chunk of generic code with handwritten unsafe bookkeeping.

Total Rust footprint

Roughly 580,000 lines of Rust across 1,779 files, spread over 60 official bevy_* crates. Add 193 WGSL shaders, 430 example targets, and 223 markdown docs and you have a fairly complete map of the project's text content.

The original technology stack

Bevy's earliest commits (Nov 2019) used:

  • legion as the ECS — replaced by hand-rolled bevy_ecs in mid-2020.
  • nalgebra for math — replaced by glam around the same time.
  • wgpu as the renderer — this one stuck, and is still the rendering backend in 2026.

Out of the three foundational dependencies of the original prototype, only wgpu survives unchanged.

The first commit

2019-11-12  initial commit

Cart's first commit. The repo predates Rust 1.40 and async/await stabilization. As of HEAD the project requires Rust 1.95.0 — about 55 toolchain releases later.

Naming origin

"Bevy" is a noun meaning a large group, especially of birds (a "bevy of swans," a "bevy of beauties"). It echoes the engine's emphasis on managing large numbers of entities efficiently. The mascot is a bird.

The crate prefix bevy_* is just a naming convention to avoid collisions on crates.io — every Bevy-affiliated workspace member is published as bevy_<thing>.

TODO archeology

A scan of *.rs files for TODO|FIXME|HACK produced 255 occurrences across 149 files. Roughly 8% of the Rust files have at least one maintenance marker. That's healthy density for a project that ships breaking changes every quarter — many TODOs are scoped to a future API change rather than ignored bugs.

Plugin count

DefaultPlugins (the "give me everything" group) installs around 40 plugins when all default features are on. The chain is defined in crates/bevy_internal/src/default_plugins.rs via the plugin_group! macro. MinimalPlugins, the headless equivalent, installs fourTaskPoolPlugin, TypeRegistrationPlugin, FrameCountPlugin, ScheduleRunnerPlugin.

The "internal" crate that's the real engine

The bevy crate at the workspace root is just 2,360 bytes (src/lib.rs). It does almost nothing — it re-exports bevy_internal::*. The actual bundling logic is in bevy_internal. Splitting it off this way lets bevy_dylib (the dynamic-linking helper for fast compiles) re-export the same surface.

The release cadence

Bevy has shipped a new minor version approximately every three months since version 0.2 in September 2020. As of HEAD (0.19.0-dev), there have been 18 minor releases plus numerous point releases over ~6 years. That's ~3 minor releases per year, almost mechanically on schedule. Bevy calls this the "train release schedule" — the train leaves on time whether or not your feature is on it.

Workspace member count

The root Cargo.toml declares the following workspace members:

  • crates/* — the 60 official crates.
  • crates/bevy_derive/compile_fail, crates/bevy_ecs/compile_fail, crates/bevy_reflect/compile_fail — trybuild harnesses.
  • examples/mobile, examples/no_std/*, examples/reflection/auto_register_static, examples/large_scenes/* — example targets that need their own Cargo manifests.
  • benches, errors, tools/* — internal tools.

That's about 70 individually-built cargo packages in the workspace, not counting the integration tests under tests-integration/ (which are explicitly excluded via the exclude array).

See also

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Fun facts – Bevy wiki | Factory