Configuration for drawing the
Aabb
component on entities.
Command that adds a child to an entity.
A filter on a component that only retains results added after the system last ran.
An ambient light, which lights the entire scene equally.
Animation controls
Adds animation support to an app
The AnyOf
query parameter fetches entities with any of the component types included in T.
A container of app logic and data.
Provides “asset” loading and processing functionality. An
Asset
is a “runtime value” that is loaded from an
AssetSource
,
which can be something like a filesystem, a network, etc.
Loads and tracks the state of
Asset
values from a configured
AssetReader
. This can be used to kick off new asset loads and
retrieve their current load states.
A UI node that is a texture atlas sprite
Used to control audio during playback.
A source of audio data
Bundle for playing a sound.
Stores the position data of the input devices of type T
.
A 2-dimensional bool
vector mask.
A 3-dimensional bool
vector mask.
A 4-dimensional bool
vector mask.
The background color of the node
The border color of the UI node.
Marker struct for buttons
A UI node that is a button
The calculated clip of the node
The defining
Component
for camera entities,
storing information about how and what to render through this camera.
Configuration for the “main 3d render graph”.
A filter on a component that only retains results added or mutably dereferenced after the system last ran.
Struct for building children entities and adding them to a parent entity.
Contains references to the child entities of this entity.
Command that clears all children from an entity and removes
Parent
component from those
children.
A
Resource
that stores the color that is used to clear the screen between frames.
A spline interpolated continuously across the nearest four control points. The curve does not
pass through any of the control points.
A spline composed of a single cubic Bezier curve.
A spline interpolated continuously across the nearest four control points, with the position of
the curve specified at every control point and the tangents computed automatically.
A spline interpolated continuously between the nearest two control points, with the position and
velocity of the curve specified at both control points. This curve passes through all control
points, with the specified velocity which includes direction and parametric speed.
A segment of a cubic curve, used to hold precomputed coefficients for fast interpolation.
An event that is sent whenever the user’s cursor enters a window.
An event that is sent whenever the user’s cursor leaves a window.
An event reporting that the mouse cursor has moved inside a window.
Convenient query for giving a human friendly name to an entity.
This plugin group will add all the default plugins for a Bevy application:
Despawns the given entity’s children recursively
Despawns the given entity and all its children recursively
A Directional light.
A collection of serializable resources and dynamic entities.
A
DynamicScene
builder, used to build a scene from a
World
by extracting some entities and resources.
Lightweight identifier of an
entity.
Provides mutable access to a single entity and all of its components.
Path to an entity, with
Name
s. Each entity in a path must have a name.
A read-only reference to a particular
Entity
and all of its components.
A mutable reference to a particular
Entity
, and the entire world.
This is essentially a performance-optimized
(Entity, &mut World)
tuple,
which caches the
EntityLocation
to reduce duplicate lookups.
Environment map based ambient lighting representing light from distant scenery.
Reads events of type T
in order and tracks which events have already been read.
Sends events of type T
.
An event collection that represents the events that occurred within the last two
Events::update
calls.
Events can be written to using an
EventWriter
and are typically cheaply read using an
EventReader
.
Schedule which extract data from the main world and inserts it into the render world.
Runs first in the schedule.
This is run by the
Main
schedule.
The fixed timestep game clock following virtual time.
The schedule that contains systems which only run after a fixed period of time has elapsed.
Configures the “classic” computer graphics
distance fog effect,
in which objects appear progressively more covered in atmospheric haze the further away they are from the camera.
Affects meshes rendered via the PBR
StandardMaterial
.
Adds frame counting functionality to Apps.
A gamepad with an associated ID
.
A collection of connected
Gamepad
s.
Plugin that provides gamepad handling to an
App
.
A
Resource
that stores configuration for gizmos.
Describe the position of an entity relative to the reference frame.
Represents the position of a grid item in a single axis.
A
GridTrack
is a Row or Column of a CSS Grid. This struct specifies what size the track should be.
See below for the different “track sizing functions” you can specify.
Returns a bool that describes if an entity has the component T
.
A rectangle defined by two opposite corners.
A 2-dimensional vector.
A 3-dimensional vector.
A 4-dimensional vector.
A UI node that is an image
Adds the
Image
as an asset and makes sure that they are extracted and prepared for the GPU.
A “press-able” input of type T
.
Command that inserts a child at a given index of a parent’s children, shifting following children back.
Marker struct for labels
Runs last in the schedule.
This is run by the
Main
schedule.
The schedule that contains the app logic that is evaluated each tick of
App::update()
.
A 2x2 column major matrix.
A 3x3 column major matrix.
A 4x4 column major matrix.
Adds the necessary ECS resources and render logic to enable rendering entities using the given
Material
asset type.
A 3D object made out of vertices representing triangles, lines, or points,
with “attribute” values for each vertex.
This plugin group will add the minimal plugins for a Bevy application:
Unique mutable borrow of an entity’s component
Component used to identify an entity. Stores a hash for faster comparisons.
Describes the size of a UI node
The basic UI node
Shared borrow of a non-
Send
resource.
Unique borrow of a non-
Send
resource.
The label of a
Schedule
that
only runs whenever
State<S>
exits the
from
state, AND enters the
to
state.
A filter that tests if any of the given filters apply.
Project a 3D space onto a 2D surface using parallel lines, i.e., unlike
PerspectiveProjection
,
the size of objects remains the same regardless of their distance to the camera.
The
Outline
component adds an outline outside the edge of a UI node.
Outlines do not take up space in the layout.
Whether to show or hide overflowing items
A collection of potentially conflicting
SystemParam
s allowed by disjoint access.
Holds a reference to the parent entity of this entity.
This component should only be present on entities that actually have a parent entity.
A 3D camera projection in which distant objects appear smaller than close objects.
A source of sine wave sound
Initial settings to be used when audio starts playing.
If you would like to control the audio while it is playing, query for the
AudioSink
or
SpatialAudioSink
components. Changes to this component will
not be applied to already-playing audio.
A light that emits light in all directions from a central point.
The schedule that runs once after
Startup
.
This is run by the
Main
schedule.
The schedule that contains logic that must run after
Update
. For example, synchronizing “local transforms” in a hierarchy
to “global” absolute transforms. This enables the
PostUpdate
transform-sync system to react to “local transform” changes in
Update
without the
Update
systems needing to know about (or add scheduler dependencies for) the “global transform sync system”.
The schedule that runs before
Startup
.
This is run by the
Main
schedule.
The schedule that contains logic that must run before
Update
. For example, a system that reads raw keyboard
input OS events into an
Events
resource. This enables systems in
Update
to consume the events from the
Events
resource without actually knowing about (or taking a direct scheduler dependency on) the “os-level keyboard event system”.
Command that pushes children to the end of the entity’s
Children
.
A quaternion representing an orientation.
Provides scoped access to a
World
state according to a given
WorldQuery
and query filter.
A ray is an infinite line starting at origin
, going in direction
.
Real time clock representing elapsed wall clock time.
An event that is sent whenever a window receives a character from the OS or underlying system.
A rectangle defined by two opposite corners.
Shared borrow of an entity’s component with access to change detection.
Similar to
Mut
but is immutable and so doesn’t require unique access.
A struct used to operate on reflected
Component
of a type.
A struct used to provide the default value of a type.
A struct used to deserialize reflected instances of a type.
Type data that represents the
FromReflect
trait and allows it to be used dynamically.
A struct used to operate on reflected
Resource
of a type.
A struct used to serialize reflected instances of a type.
Command that removes children from an entity, and removes these children’s parent.
Command that removes the parent of an entity, and removes that entity from the parent’s
Children
.
Command that clear all children from an entity, replacing them with the given children.
Updates the running gamepad rumble effects.
To spawn a scene, you can use either:
A component bundle for a
Scene
root.
Handles spawning and despawning scenes in the world, either synchronously or batched through the
scene_spawner_system
.
A collection of systems, and the metadata and executor needed to run them
in a certain order under certain conditions.
Plugin for screen space ambient occlusion.
A shader, as defined by its
ShaderSource
and
ShaderStage
This is an “unprocessed” shader. It can contain preprocessor directives.
Used to control spatial audio during playback.
A
Bundle
that allows the correct positional rendering of an entity.
Settings for the listener for spatial audio sources.
The schedule that contains scene spawning.
This is run by the
Main
schedule.
A light that emits light in a given direction from a central point.
Behaves like a point light in a perfectly absorbent housing that
shines light only in a given direction. The direction is taken from
the transform, and can be specified with
Transform::looking_at
.
A component bundle for spot light entities
A Bundle of components for drawing a single sprite from a sprite sheet (also referred
to as a TextureAtlas
)
The schedule that runs once when the app starts.
This is run by the
Main
schedule.
A finite-state machine whose transitions have associated schedules
([OnEnter(state)
] and [OnExit(state)
]).
Describes the style of a UI container node
Helper for configuring and creating the default task pools. For end-users who want full control,
set up
TaskPoolPlugin
The bundle of components needed to draw text in a 2D scene via a 2D
Camera2dBundle
.
Example usage.A UI node that is text
A builder which is used to create a texture atlas from many individual
sprites.
A generic clock resource that tracks how much it has advanced since its
previous update and since its creation.
Tracks elapsed time. Enters the finished state once duration
is reached.
A touch input event.
Describe the position of an entity. If the entity has a parent, the position is relative
to its parent position.
The base plugin for handling
Transform
components
A rectangle defined by two opposite corners.
A 2-dimensional vector.
A 3-dimensional vector.
A 4-dimensional vector.
Configuration for cameras related to UI.
The 2D texture displayed for this UI node
Adds the necessary ECS resources and render logic to enable rendering entities using the given
UiMaterial
asset type (which includes
UiMaterial
types).
A type which is commonly used to define margins, paddings and borders.
The current scale of the UI.
The atlas sprite to be used in a UI Texture Atlas Node
The schedule that contains app logic.
This is run by the
Main
schedule.
Print a warning for each Entity
with a T
component
whose parent doesn’t have a T
component.
A 2-dimensional vector.
A 3-dimensional vector.
A 4-dimensional vector.
Algorithmically-computed indication or whether an entity is visible and should be extracted for rendering.
The virtual game clock representing game time.
The defining
Component
for window entities,
storing information about how it should appear and behave.
An event that is sent when a window is repositioned in physical pixels.
A
Plugin
that defines an interface for windowing support in Bevy.
Filter that selects entities with a component T
.
Filter that selects entities without a component T
.
Stores and exposes operations on
entities,
components, resources,
and their associated metadata.
Struct for adding children to an entity directly through the
World
for use in exclusive systems.
Used to control how items are distributed.
Used to control how each individual item is aligned by default within the space they’re given.
Used to control how the specified item is aligned within the space it’s given.
Sets how a material’s base color alpha channel is used for transparency.
Events that occur for a specific
Asset
, such as “value changed” events and “dependency” events.
A unique runtime-only identifier for an
Asset
. This is cheap to
Copy
/
Clone
and is not directly tied to the
lifetime of the Asset. This means it
can point to an
Asset
that no longer exists.
Defines the text direction.
Defines the layout model used by this node.
Euler rotation sequences.
Events related to files being dragged and dropped on a window.
Defines how flexbox items are ordered within a flexbox
Defines if flexbox items appear on a single line or on multiple lines
Allows switching between different fog falloff modes, and configuring their parameters.
Controls whether grid items are placed row-wise or column-wise as well as whether the sparse or dense packing algorithm is used.
Errors that occur when setting constraints for a GridPlacement
How many times to repeat a repeated grid track
A Input Method Editor event.
Describes what type of input interaction has occurred for a UI node.
Used to control how items are distributed.
Used to control how each individual item is aligned by default within the space they’re given.
Used to control how the specified item is aligned within the space it’s given.
List of keyframes for one of the attribute of a
Transform
.
References a screen monitor.
A button on a mouse device.
Whether to show or hide overflowing items
The strategy used to position this node
A filter used to control which types can be added to a
DynamicScene
.
Describes horizontal alignment preference for positioning & bounds.
Specifies
Timer
behavior.
An untyped variant of
Handle
, which internally stores the
Asset
type information at runtime
as a
TypeId
instead of encoding it in the compile-time type. This allows handles across
Asset
types
to be stored together and compared.
Represents the possible value types for layout properties.
User indication of whether an entity is visible. Propagates down the entity hierarchy.
Defines where a
Window
should be placed on the screen.
Indicates that this
Node
entity’s front-to-back ordering is not controlled solely
by its location in the UI hierarchy. A node with a higher z-index will appear on top
of other nodes with a lower z-index.