Open-Source Wikis

/

Bevy

/

Packages

bevyengine/bevy

Packages

Bevy is a Cargo workspace of ~60 crates, all named bevy_* and all under crates/. The bevy umbrella crate at the workspace root is just a re-export of bevy_internal, which itself depends on most of the others. Most of the time you depend on bevy and toggle features; once you understand the workspace you can also depend on individual bevy_* crates directly.

This section has one page per crate. Pages are concise — they describe purpose, key types, and entry points for modification. Use them as jumping-off points into crates/<name>/src/.

How to read a package page

Each page follows the same structure:

  1. Purpose — what the crate does, in 2–3 sentences.
  2. Key types — the public surface that matters most.
  3. How it works — internal architecture, with diagrams when they help.
  4. Integration points — what it depends on and what depends on it.
  5. Entry points for modification — where to look first when changing the crate.

Crate map by domain

The 60 official crates organize naturally into a few clusters.

Foundations

Crate Files Purpose
bevy_app 13 The App, plugins, schedules, panic and signal handling.
bevy_ecs 154 The Entity Component System.
bevy_reflect 141 Runtime reflection for Rust types.
bevy_internal 3 The DefaultPlugins group; re-exports of all subordinate crates.
bevy_math 46 Vectors, matrices, curves, geometric primitives, easing.
bevy_color 23 Color types and color-space conversions.
bevy_tasks 11 Task pools, async helpers.
bevy_platform 26 Cross-platform shims (time, HashMap, atomics) for no_std.
bevy_utils 9 Small helpers used across the workspace.
bevy_ptr 1 Tiny crate for type-erased pointer helpers.
bevy_derive 4 The #[derive(Deref)], #[derive(DerefMut)], etc. helpers.
bevy_macro_utils 10 Shared utilities used by Bevy's proc macros.
bevy_encase_derive 1 Derive bridge for the encase GPU-buffer encoding crate.
bevy_dylib 1 Dummy crate that re-exports bevy as a .dylib/.so for fast compiles.

Time and lifecycle

Crate Files Purpose
bevy_time 9 Frame time, fixed-timestep accumulator, virtual/real clocks.
bevy_diagnostic 7 Time-windowed measurement registry (FPS, entity count, etc).
bevy_state 15 Typed state machines (Menu/Game/Paused).
bevy_log 3 tracing/log integration, panic-hook installer.
bevy_transform 9 Local + global transforms, propagation systems.
bevy_settings 3 User-preference loader/saver.
bevy_a11y 1 AccessKit integration for accessibility.

Assets, scenes, and serialization

Crate Files Purpose
bevy_asset 37 Loader, server, processor, hot-reload.
bevy_scene 8 Spawning saved/loaded scenes into a world.
bevy_world_serialization 10 The BSN format, scene save/load.
bevy_gltf 16 glTF 2.0 loader.

Rendering

Crate Files Purpose
bevy_render 71 Render SubApp, render graph, GPU resource management.
bevy_core_pipeline 28 Shared 2D/3D core (clear, depth prepass, tonemapping, bloom, MSAA).
bevy_pbr 59 PBR materials, lights, shadows, deferred pipeline.
bevy_camera 9 Camera component, projections, culling primitives.
bevy_camera_controller 3 Free-look / orbit camera helpers for examples.
bevy_mesh 25 Mesh data, attributes, primitive meshing.
bevy_image 15 Image / texture asset types.
bevy_material 9 The Material trait, asset glue.
bevy_light 14 Point, spot, directional lights and clustered shading.
bevy_shader 3 Shader asset types (WGSL/SPIR-V).
bevy_anti_alias 11 FXAA, SMAA, TAA, contrast-adaptive sharpening.
bevy_post_process 18 DOF, bloom, chromatic aberration, motion blur.
bevy_solari 14 Experimental ray-traced GI.
bevy_sprite 8 2D sprite components.
bevy_sprite_render 15 2D sprite renderer.
bevy_gizmos 22 Immediate-mode debug drawing API.
bevy_gizmos_render 5 Renderer for bevy_gizmos.
bevy_text 15 Text shaping, rendering, font assets.

Animation

Crate Files Purpose
bevy_animation 9 Skeletal and morph-target animation, animation graph.

Input, windowing, and platform

Crate Files Purpose
bevy_window 9 Window component, events, mode types.
bevy_winit 10 winit integration: event loop, swapchain handling.
bevy_input 9 Keyboard, mouse, touch, gamepad button state.
bevy_input_focus 6 Which entity receives keyboard input.
bevy_gilrs 4 gilrs gamepad backend.
bevy_clipboard 1 Clipboard read/write resource.
bevy_android 1 Android-specific platform glue.

UI

Crate Files Purpose
bevy_ui 26 UI nodes, flexbox layout via taffy, focus, rendering data.
bevy_ui_render 10 Renderer for UI nodes.
bevy_ui_widgets 10 Composed widget primitives (buttons, sliders, scrollbars).
bevy_feathers 33 Bevy's built-in widget set and theme.

Audio

Crate Files Purpose
bevy_audio 7 rodio-based audio playback, spatial audio.

Picking

Crate Files Purpose
bevy_picking 10 Picking core: pointers, hits, events.

Tooling and remote inspection

Crate Files Purpose
bevy_dev_tools 15 FPS overlay, state inspector, debug helpers.
bevy_remote 6 The Bevy Remote Protocol (BRP) — JSON-RPC over HTTP.

Reading order for new contributors

  1. bevy_app — understand App, plugins, schedules.
  2. bevy_ecs — the data model.
  3. bevy_reflect — runtime reflection.
  4. bevy_asset — how assets get into the world.
  5. bevy_render — the render SubApp.
  6. Then whichever subsystem your task lives in.

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

Packages – Bevy wiki | Factory