Open-Source Wikis

/

Bevy

/

Reference

/

Data models

bevyengine/bevy

Data models

Standard component groupings you'll see across the engine. Knowing these makes reading any Bevy code faster.

Spatial entities

Anything that has a position in the world has these:

Component Purpose Crate
Transform Local translation/rotation/scale. bevy_transform
GlobalTransform World-space transform, computed in PostUpdate. bevy_transform
ChildOf(parent) Relationship: this entity is a child of parent. bevy_ecs
Children([..]) Auto-maintained list of child entities. bevy_ecs
Visibility User-controlled visibility (Inherited / Visible / Hidden). bevy_camera
InheritedVisibility Computed from parent. bevy_camera
ViewVisibility Per-camera computed visibility (after culling). bevy_camera

SpatialBundle and VisibilityBundle collected these in legacy code; modern code uses required components on the relevant rendering components.

3D meshes

A 3D meshed entity has:

(Mesh3d(handle), MeshMaterial3d<StandardMaterial>(handle), Transform, Visibility)
Component Purpose Crate
Mesh3d Handle to a 3D mesh. bevy_mesh
MeshMaterial3d<M> Handle to a material. bevy_material
Aabb Object-space bounding box (computed on first use). bevy_camera
NotShadowCaster / NotShadowReceiver Skip shadow casting/receiving. bevy_pbr

2D sprites

(Sprite, Transform, Visibility)
Component Purpose Crate
Sprite Image handle, color, custom size, anchor, flip flags. bevy_sprite
TextureAtlas Sub-region of a texture atlas. bevy_sprite

For 2D meshes, use Mesh2d + MeshMaterial2d<M> instead of Sprite.

Cameras

(Camera, Camera3d_or_Camera2d_marker, Transform, Projection?)
Component Purpose Crate
Camera Render target, viewport, clear behavior, exposure, sub-camera. bevy_camera
Camera3d / Camera2d Marker selecting the 2D or 3D pipeline. bevy_core_pipeline
Projection Perspective / Orthographic / custom. bevy_camera
Frustum Six-plane frustum (computed in PostUpdate). bevy_camera
Tonemapping Per-camera tonemap operator. bevy_core_pipeline
Bloom, Skybox, MotionBlur, DepthOfField Optional per-camera effects. bevy_core_pipeline
RenderLayers Visibility filter. bevy_camera
EnvironmentMapLight IBL for this camera. bevy_light

Lights

(PointLight | SpotLight | DirectionalLight, Transform, Visibility)
Component Purpose Crate
PointLight Omnidirectional, with optional shadows. bevy_light
SpotLight Cone, with optional shadows. bevy_light
DirectionalLight Sun-like, with optional cascaded shadows. bevy_light
AmbientLight Per-camera ambient term (resource-like, but per-camera). bevy_light
Volumetric Marker: contributes to volumetric fog. bevy_light

UI

(Node, BackgroundColor?, BorderColor?, BorderRadius?, Outline?, Transform, Visibility)
Component Purpose Crate
Node Layout properties (size, flex, position). bevy_ui
BackgroundColor, BorderColor, BorderRadius, Outline, BoxShadow Visual style. bevy_ui
Text Text content with TextSpan children. bevy_text
ImageNode Image background. bevy_ui
MaterialNode<M> Custom UI shader. bevy_ui_render
UiTargetCamera Which camera this UI tree renders into. bevy_ui
ZIndex Override stack order. bevy_ui
ComputedNode Read-only output of layout. bevy_ui

Audio

(AudioPlayer<AudioSource>, PlaybackSettings)

Add Transform + SpatialAudio for 3D positional audio.

Animation

(AnimationPlayer, AnimationGraphHandle, Transform)

Animation targets need AnimationTarget(AnimationTargetId, AnimationPlayer entity) so the player can resolve curves to the right entity.

Picking

Most Bevy entities are pickable by default if they belong to a domain with a registered backend (UI, sprite, mesh). Opt out with PickingBehavior { is_hoverable: false, .. } or block picking through children with should_block_lower: true.

Required component shorthand

Many of these "implicit" component sets are now declared via #[require(...)] on the user-facing component, so adding e.g. Mesh3d automatically inserts Transform, Visibility, etc. The required-component graph is the modern replacement for explicit bundles.

See also

  • Glossary for short definitions.
  • The relevant crate page in Packages for the full component set.
  • bevy_ecscrates/bevy_ecs/src/component/required_components.rs.

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

Data models – Bevy wiki | Factory