Expand description
use bevy::prelude::*;
to import common components, bundles, and plugins.
Modules§
- adaptors
- Adaptors used by the Curve API for transforming and combining curves together.
- cores
- Core data structures to be used internally in Curve implementations, encapsulating storage and access patterns for reuse.
- easing
- Module containing different easing functions to control the transition between two values and
the
EasingCurve
struct to make use of them. - interval
- The
Interval
type for nonempty intervals used by theCurve
trait. - iterable
- Iterable curves, which sample in the form of an iterator in order to support
Vec
-like output whose length cannot be known statically. - light_
consts - Constants for operating with the light units: lumens, and lux.
- ops
- This mod re-exports the correct versions of floating-point operations with
unspecified precision in the standard library depending on whether the
libm
crate feature is enabled. - sample_
curves - Sample-interpolated curves constructed using the
Curve
API.
Macros§
- debug
- Constructs an event at the debug level.
- debug_
once - Call
debug!
once per call site. - debug_
span - Constructs a span at the debug level.
- error
- Constructs an event at the error level.
- error_
once - Call
error!
once per call site. - error_
span - Constructs a span at the error level.
- info
- Constructs an event at the info level.
- info_
once - Call
info!
once per call site. - info_
span - Constructs a span at the info level.
- once
- Call some expression only once per call site.
- trace
- Constructs an event at the trace level.
- trace_
once - Call
trace!
once per call site. - trace_
span - Constructs a span at the trace level.
- warn
- Constructs an event at the warn level.
- warn_
once - Call
warn!
once per call site. - warn_
span - Constructs a span at the warn level.
Structs§
- AddChild
- Command that adds a child to an entity.
- AddChildren
- Command that pushes children to the end of the entity’s
Children
. - Added
- A filter on a component that only retains results the first time after they have been added.
- Ambient
Light - An ambient light, which lights the entire scene equally.
- Ancestor
Iter - An
Iterator
ofEntity
s over the ancestors of anEntity
. - Annulus
- A primitive shape formed by the region between two circles, also known as a ring.
- AnyOf
- The
AnyOf
query parameter fetches entities with any of the component types included in T. - App
App
is the primary API for writing user applications. It automates the setup of a standard lifecycle and provides interface glue for plugins.- AppType
Registry - A
Resource
storingTypeRegistry
for type registrations relevant to a whole app. - Arc2d
- A primitive representing an arc between two points on a circle.
- Asset
Plugin - Provides “asset” loading and processing functionality. An
Asset
is a “runtime value” that is loaded from anAssetSource
, which can be something like a filesystem, a network, etc. - Asset
Server - Loads and tracks the state of
Asset
values from a configuredAssetReader
. This can be used to kick off new asset loads and retrieve their current load states. - Assets
- Stores
Asset
values identified by theirAssetId
. - Axis
- Stores the position data of the input devices of type
T
. - BVec2
- A 2-dimensional
bool
vector mask. - BVec3
- A 3-dimensional
bool
vector mask. - BVec4
- A 4-dimensional
bool
vector mask. - Boxed
Polygon - A polygon with a variable number of vertices, allocated on the heap
in a
Box<[Vec2]>
. - Boxed
Polyline2d - A series of connected line segments in 2D space, allocated on the heap
in a
Box<[Vec2]>
. - Boxed
Polyline3d - A series of connected line segments in 3D space, allocated on the heap
in a
Box<[Vec3]>
. - Button
Input - A “press-able” input of type
T
. - Camera
- The defining
Component
for camera entities, storing information about how and what to render through this camera. - Camera2d
- A 2D camera component. Enables the 2D render graph for a
Camera
. - Camera2d
Bundle Deprecated - Camera3d
- A 3D camera component. Enables the main 3D render graph for a
Camera
. - Camera3d
Bundle Deprecated - The camera coordinate space is right-handed x-right, y-up, z-back. This means “forward” is -Z.
- Cancel
- Fires when a pointer is canceled, and it’s current interaction state is dropped.
- Capsule2d
- A 2D capsule primitive, also known as a stadium or pill shape.
- Capsule3d
- A 3D capsule primitive centered on the origin A three-dimensional capsule is defined as a surface at a distance (radius) from a line
- Chain
Curve - The curve that results from chaining one curve with another. The second curve is effectively reparametrized so that its start is at the end of the first.
- Changed
- A filter on a component that only retains results the first time after they have been added or mutably dereferenced.
- Child
Builder - Struct for building children entities and adding them to a parent entity.
- Children
- Contains references to the child entities of this entity.
- Circle
- A circle primitive, representing the set of points some distance from the origin
- Circular
Sector - A primitive representing a circular sector: a pie slice of a circle.
- Circular
Segment - A primitive representing a circular segment: the area enclosed by the arc of a circle and its chord (the line between its endpoints).
- Clear
Children - Command that clears all children from an entity and removes
Parent
component from those children. - Clear
Color - A
Resource
that stores the color that is used to clear the screen between frames. - Click
- Fires when a pointer sends a pointer down event followed by a pointer up event, with the same
target
entity for both events. - Commands
- A
Command
queue to perform structural changes to theWorld
. - Cone
- A cone primitive centered on the midpoint between the tip of the cone and the center of its base.
- Conical
Frustum - A conical frustum primitive. A conical frustum can be created by slicing off a section of a cone.
- Constant
Curve - A curve with a constant value over its domain.
- Continuation
Curve - The curve that results from chaining two curves.
- Convex
Polygon - A convex polygon with
N
vertices. - CubicB
Spline - A spline interpolated continuously across the nearest four control points. The curve does not necessarily pass through any of the control points.
- Cubic
Bezier - A spline composed of a single cubic Bezier curve.
- Cubic
Cardinal Spline - 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. The associated
CubicCurve
has one segment between each pair of adjacent control points. - Cubic
Curve - A collection of
CubicSegment
s chained into a single parametric curve. It is aCurve
with domain[0, N]
, whereN
is its number of segments. - Cubic
Hermite - 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.
- Cubic
Nurbs - Non-uniform Rational B-Splines (NURBS) are a powerful generalization of the
CubicBSpline
which can represent a much more diverse class of curves (like perfect circles and ellipses). - Cubic
Segment - A segment of a cubic curve, used to hold precomputed coefficients for fast interpolation.
It is a
Curve
with domain[0, 1]
. - Cuboid
- A cuboid primitive, which is like a cube, except that the x, y, and z dimensions are not required to be the same.
- Cursor
Entered - An event that is sent whenever the user’s cursor enters a window.
- Cursor
Left - An event that is sent whenever the user’s cursor leaves a window.
- Cursor
Moved - An event reporting that the mouse cursor has moved inside a window.
- Curve
Reparam Curve - A curve that has been reparametrized by another curve, using that curve to transform the
sample times before sampling. Curves of this type are produced by
Curve::reparametrize_by_curve
. - Cylinder
- A cylinder primitive centered on the origin
- Default
Picking Plugins - One plugin that contains the
PointerInputPlugin
,PickingPlugin
and theInteractionPlugin
, this is probably the plugin that will be most used. - Default
Plugins - This plugin group will add all the default plugins for a Bevy application:
- Deferred
- A
SystemParam
that stores a buffer which gets applied to theWorld
duringapply_deferred
. This is used internally byCommands
to deferWorld
mutations. - Descendant
Depth First Iter - An
Iterator
ofEntity
s over the descendants of anEntity
. - Descendant
Iter - An
Iterator
ofEntity
s over the descendants of anEntity
. - Despawn
Children Recursive - Despawns the given entity’s children recursively
- Despawn
Recursive - Despawns the given entity and all its children recursively
- Dir2
- A normalized vector pointing in a direction in 2D space
- Dir3
- A normalized vector pointing in a direction in 3D space
- Dir3A
- A normalized SIMD vector pointing in a direction in 3D space.
- Directional
Light - A Directional light.
- Directional
Light Bundle Deprecated - A component bundle for
DirectionalLight
entities. - Distance
Fog - 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
. - Down
- Fires when a pointer button is pressed over the
target
entity. - Drag
- Fires while the
target
entity is being dragged. - Drag
Drop - Fires when a pointer drops the
dropped
entity onto thetarget
entity. - DragEnd
- Fires when a pointer is dragging the
target
entity and a pointer up event is received. - Drag
Enter - Fires when a pointer dragging the
dragged
entity enters thetarget
entity. - Drag
Entry - Dragging state.
- Drag
Leave - Fires when a pointer dragging the
dragged
entity leaves thetarget
entity. - Drag
Over - Fires while the
dragged
entity is being dragged over thetarget
entity. - Drag
Start - Fires when the
target
entity receives a pointer down event followed by a pointer move event. - Easing
Curve - A
Curve
that is defined by - Ellipse
- An ellipse primitive, which is like a circle, but the width and height can be different
- Entity
- Lightweight identifier of an entity.
- Entity
Commands - A list of commands that will be run to modify an entity.
- Entity
Mut - Provides mutable access to a single entity and all of its components.
- Entity
Ref - A read-only reference to a particular
Entity
and all of its components. - Entity
World Mut - A mutable reference to a particular
Entity
, and the entire world. - Environment
MapLight - A pair of cubemap textures that represent the surroundings of a specific area in space.
- Event
Mutator - Mutably reads events of type
T
keeping track of which events have already been read by each system allowing multiple systems to read the same events. Ideal for chains of systems that all want to modify the same events. - Event
Reader - Reads events of type
T
in order and tracks which events have already been read. - Event
Writer - Sends events of type
T
. - Events
- An event collection that represents the events that occurred within the last two
Events::update
calls. Events can be written to using anEventWriter
and are typically cheaply read using anEventReader
. - Extract
Schedule - Schedule which extract data from the main world and inserts it into the render world.
- Extrusion
- A 3D shape representing an extruded 2D
base_shape
. - Filtered
Resources - Provides read-only access to a set of
Resource
s defined by the containedAccess
. - Filtered
Resources Mut - Provides mutable access to a set of
Resource
s defined by the containedAccess
. - First
- Runs first in the schedule.
- Fixed
- The fixed timestep game clock following virtual time.
- Fixed
First - Runs first in the
FixedMain
schedule. - Fixed
Last - The schedule that runs last in
FixedMain
- Fixed
Post Update - The schedule that runs after the
FixedUpdate
schedule, for reacting to changes made in the main update logic. - Fixed
PreUpdate - The schedule that contains logic that must run before
FixedUpdate
. - Fixed
Update - The schedule that contains most gameplay logic, which runs at a fixed rate rather than every render frame.
For logic that should run once per render frame, use the
Update
schedule instead. - Forever
Curve - The curve that results from repeating a curve forever.
- Frame
Count Plugin - Adds frame counting functionality to Apps.
- Function
Curve - A curve defined by a function together with a fixed domain.
- Gamepad
- Stores a connected gamepad’s metadata such as the name and its
GamepadButton
andGamepadAxis
. - Gamepad
Settings - Gamepad settings component.
- Global
Transform GlobalTransform
is an affine transformation from entity-local coordinates to worldspace coordinates.- Graph
Curve - A curve that is the graph of another curve over its parameter space. Curves of this type are
produced by
Curve::graph
. - Has
- Returns a bool that describes if an entity has the component
T
. - Hierarchy
Plugin bevy_app
- Provides hierarchy functionality to a Bevy app.
- Hsla
- Color in Hue-Saturation-Lightness (HSL) color space with alpha. Further information on this color model can be found on Wikipedia.
- Hsva
- Color in Hue-Saturation-Value (HSV) color space with alpha. Further information on this color model can be found on Wikipedia.
- Hwba
- Color in Hue-Whiteness-Blackness (HWB) color space with alpha. Further information on this color model can be found on Wikipedia.
- IRect
- A rectangle defined by two opposite corners.
- IVec2
- A 2-dimensional vector.
- IVec3
- A 3-dimensional vector.
- IVec4
- A 4-dimensional vector.
- Image
- Image
Plugin - Adds the
Image
as an asset and makes sure that they are extracted and prepared for the GPU. - In
- A
SystemInput
type which denotes that aSystem
receives an input value of typeT
from its caller. - InMut
- A
SystemInput
type which denotes that aSystem
receives a mutable reference to a value of typeT
from its caller. - InRef
- A
SystemInput
type which denotes that aSystem
receives a read-only reference to a value of typeT
from its caller. - Infinite
Plane3d - An unbounded plane in 3D space. It forms a separating surface through the origin, stretching infinitely far
- Inherited
Visibility - Whether or not an entity is visible in the hierarchy.
This will not be accurate until
VisibilityPropagate
runs in thePostUpdate
schedule. - Insert
Children - Command that inserts a child at a given index of a parent’s children, shifting following children back.
- Interaction
Plugin - Generates
Pointer
events and handles event bubbling. - Interval
- A nonempty closed interval, possibly unbounded in either direction.
- Isometry2d
- An isometry in two dimensions, representing a rotation followed by a translation. This can often be useful for expressing relative positions and transformations from one position to another.
- Isometry3d
- An isometry in three dimensions, representing a rotation followed by a translation. This can often be useful for expressing relative positions and transformations from one position to another.
- Laba
- Color in LAB color space, with alpha
- Last
- Runs last in the schedule.
- Lcha
- Color in LCH color space, with alpha
- Light
Probe - A marker component for a light probe, which is a cuboid region that provides global illumination to all fragments inside it.
- Line2d
- An infinite line going through the origin along a direction in 2D space.
- Line3d
- An infinite line going through the origin along a direction in 3D space.
- Linear
Reparam Curve - A curve that has had its domain changed by a linear reparametrization (stretching and scaling).
Curves of this type are produced by
Curve::reparametrize_linear
. - Linear
Rgba - Linear RGB color with alpha.
- Local
- A system local
SystemParam
. - Main
- The schedule that contains the app logic that is evaluated each tick of
App::update()
. - MapCurve
- A curve whose samples are defined by mapping samples from another curve through a
given function. Curves of this type are produced by
Curve::map
. - Mat2
- A 2x2 column major matrix.
- Mat3
- A 3x3 column major matrix.
- Mat4
- A 4x4 column major matrix.
- Material
Mesh Bundle Deprecated - A component bundle for entities with a
Mesh3d
and aMeshMaterial3d
. - Material
Plugin - Adds the necessary ECS resources and render logic to enable rendering entities using the given
Material
asset type. - Mesh
- A 3D object made out of vertices representing triangles, lines, or points, with “attribute” values for each vertex.
- Mesh2d
- A component for 2D meshes. Requires a
MeshMaterial2d
to be rendered, commonly using aColorMaterial
. - Mesh3d
- A component for 3D meshes. Requires a
MeshMaterial3d
to be rendered, commonly using aStandardMaterial
. - Mesh
Material3d - A material used for rendering a
Mesh3d
. - Minimal
Plugins - This plugin group will add the minimal plugins for a Bevy application:
- Morph
Weights - Controls the morph targets for all child
Mesh3d
entities. In most cases,MorphWeights
should be considered the “source of truth” when writing morph targets for meshes. However you can choose to write childMeshMorphWeights
if your situation requires more granularity. Just note that if you setMorphWeights
, it will overwrite childMeshMorphWeights
values. - Move
- Fires while a pointer is moving over the
target
entity. - Mut
- Unique mutable borrow of an entity’s component or of a resource.
- Name
- Component used to identify an entity. Stores a hash for faster comparisons.
- Name
OrEntity - Convenient query for giving a human friendly name to an entity.
- NonSend
- Shared borrow of a non-
Send
resource. - NonSend
Mut - Unique borrow of a non-
Send
resource. - Observer
- An
Observer
system. Add thisComponent
to anEntity
to turn it into an “observer”. - Oklaba
- Color in Oklab color space, with alpha
- Oklcha
- Color in Oklch color space, with alpha
- OnAdd
- Trigger emitted when a component is added to an entity. See
crate::component::ComponentHooks::on_add
for more information. - OnInsert
- Trigger emitted when a component is inserted onto an entity. See
crate::component::ComponentHooks::on_insert
for more information. - OnRemove
- Trigger emitted when a component is removed from an entity. See
crate::component::ComponentHooks::on_remove
for more information. - OnReplace
- Trigger emitted when a component is replaced on an entity. See
crate::component::ComponentHooks::on_replace
for more information. - Or
- A filter that tests if any of the given filters apply.
- Orthographic
Projection - 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. - Out
- Fires when a the pointer crosses out of the bounds of the
target
entity. - Over
- Fires when a the pointer crosses into the bounds of the
target
entity. - Parallel
Commands - An alternative to
Commands
that can be used in parallel contexts, such as those inQuery::par_iter
. - Param
Set - A collection of potentially conflicting
SystemParam
s allowed by disjoint access. - Parent
- Holds a reference to the parent entity of this entity. This component should only be present on entities that actually have a parent entity.
- Perspective
Projection - A 3D camera projection in which distant objects appear smaller than close objects.
- Picking
Behavior - An optional component that overrides default picking behavior for an entity, allowing you to make an entity non-hoverable, or allow items below it to be hovered. See the documentation on the fields for more details.
- Picking
Event Writers - A helper system param for accessing the picking event writers.
- Picking
Plugin - This plugin sets up the core picking infrastructure. It receives input events, and provides the shared types used by other picking plugins.
- Ping
Pong Curve - The curve that results from chaining a curve with its reversed version. The transition point is guaranteed to make no jump.
- Plane2d
- An unbounded plane in 2D space. It forms a separating surface through the origin, stretching infinitely far
- Plane3d
- A bounded plane in 3D space. It forms a surface starting from the origin with a defined height and width.
- Point
Light - A light that emits light in all directions from a central point.
- Point
Light Bundle Deprecated - A component bundle for
PointLight
entities. - Pointer
- Stores the common data needed for all pointer events.
- Pointer
Button State - An entry in the cache that drives the
pointer_events
system, storing additional data about pointer button presses. - Pointer
Input Plugin - Adds mouse and touch inputs for picking pointers to your app. This is a default input plugin, that you can replace with your own plugin as needed.
- Pointer
State - State for all pointers.
- Polygon
- A polygon with N vertices.
- Polyline2d
- A series of connected line segments in 2D space.
- Polyline3d
- A series of connected line segments in 3D space.
- Populated
- System parameter that works very much like
Query
except it always contains at least one matching entity. - Post
Startup - The schedule that runs once after
Startup
. - Post
Update - The schedule that contains logic that must run after
Update
. For example, synchronizing “local transforms” in a hierarchy to “global” absolute transforms. This enables thePostUpdate
transform-sync system to react to “local transform” changes inUpdate
without theUpdate
systems needing to know about (or add scheduler dependencies for) the “global transform sync system”. - PreStartup
- The schedule that runs before
Startup
. - PreUpdate
- The schedule that contains logic that must run before
Update
. For example, a system that reads raw keyboard input OS events into anEvents
resource. This enables systems inUpdate
to consume the events from theEvents
resource without actually knowing about (or taking a direct scheduler dependency on) the “os-level keyboard event system”. - Quat
- A quaternion representing an orientation.
- Query
- System parameter that provides selective access to the
Component
data stored in aWorld
. - Query
Builder - Builder struct to create
QueryState
instances at runtime. - Query
State - Provides scoped access to a
World
state according to a givenQueryData
andQueryFilter
. - Rational
Curve - A collection of
RationalSegment
s chained into a single parametric curve. It is aCurve
with domain[0, N]
, whereN
is the number of segments. - Rational
Segment - A segment of a rational cubic curve, used to hold precomputed coefficients for fast interpolation.
It is a
Curve
with domain[0, 1]
. - Ray2d
- An infinite half-line starting at
origin
and going indirection
in 2D space. - Ray3d
- An infinite half-line starting at
origin
and going indirection
in 3D space. - Real
- Real time clock representing elapsed wall clock time.
- Rect
- A rectangle defined by two opposite corners.
- Rectangle
- A rectangle primitive, which is like a square, except that the width and height can be different
- Ref
- 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. - Reflect
Component - A struct used to operate on reflected
Component
trait of a type. - Reflect
Default - A struct used to provide the default value of a type.
- Reflect
Deserialize - A struct used to deserialize reflected instances of a type.
- Reflect
From Reflect - Type data that represents the
FromReflect
trait and allows it to be used dynamically. - Reflect
From World - A struct used to operate on the reflected
FromWorld
trait of a type. - Reflect
Resource - A struct used to operate on reflected
Resource
of a type. - Reflect
Serialize - A struct used to serialize reflected instances of a type.
- Reflection
Probe Bundle Deprecated - A bundle that contains everything needed to make an entity a reflection probe.
- Regular
Polygon - A polygon centered on the origin where all vertices lie on a circle, equally far apart.
- Remove
Children - Command that removes children from an entity, and removes these children’s parent.
- Remove
Parent - Command that removes the parent of an entity, and removes that entity from the parent’s
Children
. - Removed
Components - A
SystemParam
that yields entities that had theirT
Component
removed or have been despawned with it. - Reparam
Curve - A curve whose sample space is mapped onto that of some base curve’s before sampling.
Curves of this type are produced by
Curve::reparametrize
. - Repeat
Curve - The curve that results from repeating a curve
N
times. - Replace
Children - Command that clear all children from an entity, replacing them with the given children.
- Res
- Shared borrow of a
Resource
. - ResMut
- Unique mutable borrow of a
Resource
. - Reverse
Curve - The curve that results from reversing another.
- Rhombus
- A rhombus primitive, also known as a diamond shape. A four sided polygon, centered on the origin, where opposite sides are parallel but without requiring right angles.
- Rot2
- A counterclockwise 2D rotation.
- RunFixed
Main Loop - Runs the
FixedMain
schedule in a loop according until all relevant elapsed time has been “consumed”. - Sample
Auto Curve - A curve that is defined by neighbor interpolation over a set of evenly-spaced samples, interpolated automatically using a particularly well-behaved interpolation.
- Sample
Curve - A curve that is defined by explicit neighbor interpolation over a set of evenly-spaced samples.
- Schedule
- A collection of systems, and the metadata and executor needed to run them in a certain order under certain conditions.
- Schedules
- Resource that stores
Schedule
s mapped toScheduleLabel
s excluding the current runningSchedule
. - Screen
Space Ambient Occlusion Plugin - Plugin for screen space ambient occlusion.
- Segment2d
- A segment of a line going through the origin along a direction in 2D space.
- Segment3d
- A segment of a line going through the origin along a direction in 3D space.
- Shader
- A shader, as defined by its
ShaderSource
andShaderStage
This is an “unprocessed” shader. It can contain preprocessor directives. - Single
- System parameter that provides access to single entity’s components, much like
Query::single
/Query::single_mut
. - Spatial
Bundle Deprecated - A
Bundle
that allows the correct positional rendering of an entity. - Spawn
Scene - The schedule that contains scene spawning.
- Sphere
- A sphere primitive, representing the set of all points some distance from the origin
- Spot
Light - A light that emits light in a given direction from a central point.
- Spot
Light Bundle Deprecated - A component bundle for spot light entities
- Srgba
- Non-linear standard RGB with alpha.
- Standard
Material - A material with “standard” properties used in PBR lighting Standard property values with pictures here https://google.github.io/filament/Material%20Properties.pdf.
- Startup
- The schedule that runs once when the app starts.
- SubApp
- A secondary application with its own
World
. These can run independently of each other. - Task
Pool Options - Helper for configuring and creating the default task pools. For end-users who want full control,
set up
TaskPoolPlugin
- Task
Pool Plugin - Setup of default task pools:
AsyncComputeTaskPool
,ComputeTaskPool
,IoTaskPool
. - Tetrahedron
- A tetrahedron primitive.
- Time
- A generic clock resource that tracks how much it has advanced since its previous update and since its creation.
- Timer
- Tracks elapsed time. Enters the finished state once
duration
is reached. - Torus
- A torus primitive, often representing a ring or donut shape The set of points some distance from a circle centered at the origin
- Touch
Input - A touch input event.
- Touches
- A collection of
Touch
es. - Transform
- Describe the position of an entity. If the entity has a parent, the position is relative to its parent position.
- Transform
Bundle Deprecated - A
Bundle
of theTransform
andGlobalTransform
Component
s, which describe the position of an entity. - Transform
Helper - System parameter for computing up-to-date
GlobalTransform
s. - Transform
Plugin - The base plugin for handling
Transform
components - Triangle2d
- A triangle in 2D space
- Triangle3d
- A 3D triangle primitive.
- Trigger
- Type containing triggered
Event
information for a given run of anObserver
. This contains theEvent
data itself. If it was triggered for a specificEntity
, it includes that as well. It also contains event propagation information. SeeTrigger::propagate
for more information. - Type
Registration Plugin - Registration of default types to the
TypeRegistry
resource. - URect
- A rectangle defined by two opposite corners.
- UVec2
- A 2-dimensional vector.
- UVec3
- A 3-dimensional vector.
- UVec4
- A 4-dimensional vector.
- Uneven
Sample Auto Curve - A curve that is defined by interpolation over unevenly spaced samples, interpolated automatically using a particularly well-behaved interpolation.
- Uneven
Sample Curve - A curve that is defined by interpolation over unevenly spaced samples with explicit interpolation.
- Up
- Fires when a pointer button is released over the
target
entity. - Update
- The schedule that contains any app logic that must run once per render frame.
For most gameplay logic, consider using
FixedUpdate
instead. - Valid
Parent Check Plugin - Print a warning for each
Entity
with aT
component whose parent doesn’t have aT
component. - Vec2
- A 2-dimensional vector.
- Vec3
- A 3-dimensional vector.
- Vec4
- A 4-dimensional vector.
- View
Visibility - Algorithmically-computed indication of whether an entity is visible and should be extracted for rendering.
- Virtual
- The virtual game clock representing game time.
- Visibility
Bundle Deprecated - A
Bundle
of theVisibility
,InheritedVisibility
, andViewVisibility
Component
s, which describe the visibility of an entity. - Window
- The defining
Component
for window entities, storing information about how it should appear and behave. - Window
Moved - An event that is sent when a window is repositioned in physical pixels.
- Window
Plugin - A
Plugin
that defines an interface for windowing support in Bevy. - Window
Resize Constraints - The size limits on a
Window
. - With
- Filter that selects entities with a component
T
. - Without
- Filter that selects entities without a component
T
. - World
- Stores and exposes operations on entities, components, resources, and their associated metadata.
- World
Child Builder - Struct for adding children to an entity directly through the
World
for use in exclusive systems. - Xyza
- CIE 1931 color space, also known as XYZ, with an alpha channel.
- ZipCurve
- A curve that combines the output data from two constituent curves into a tuple output. Curves
of this type are produced by
Curve::zip
.
Enums§
- Alpha
Mode - Sets how a material’s base color alpha channel is used for transparency.
- AppExit
- An event that indicates the
App
should exit. If one or more of these are present at the end of an update, the runner will end and (maybe) return control to the caller. - Asset
Event - Events that occur for a specific loaded
Asset
, such as “value changed” events and “dependency” events. - AssetId
- A unique runtime-only identifier for an
Asset
. This is cheap toCopy
/Clone
and is not directly tied to the lifetime of the Asset. This means it can point to anAsset
that no longer exists. - Asset
Mode - Controls whether or not assets are pre-processed before being loaded.
- Chain
Error - An error indicating that an end-to-end composition couldn’t be performed because of malformed inputs.
- Clear
Color Config - For a camera, specifies the color used to clear the viewport before rendering.
- Color
- An enumerated type that can represent any of the color types in this crate.
- Convex
Polygon Error - An error that happens when creating a
ConvexPolygon
. - Cubic
Nurbs Error - Error during construction of
CubicNurbs
- Ease
Function - Curve functions over the unit interval, commonly used for easing transitions.
- Euler
Rot - Euler rotation sequences.
- File
Drag AndDrop - Events related to files being dragged and dropped on a window.
- FogFalloff
- Allows switching between different fog falloff modes, and configuring their parameters.
- Gamepad
Axis - Represents gamepad input types that are mapped in the range [-1.0, 1.0]
- Gamepad
Button - Represents gamepad input types that are mapped in the range [0.0, 1.0].
- Handle
- A strong or weak handle to a specific
Asset
. If aHandle
isHandle::Strong
, theAsset
will be kept alive until theHandle
is dropped. If aHandle
isHandle::Weak
, it does not necessarily reference a liveAsset
, nor will it keep assets alive. - HexColor
Error - Error returned if a hex string could not be parsed as a color.
- Image
Format - Ime
- A Input Method Editor event.
- KeyCode
- The key code of a
KeyboardInput
. - Linear
Reparam Error - An error indicating that a linear reparametrization couldn’t be performed because of malformed inputs.
- Monitor
Selection - References a screen monitor.
- Mouse
Button - A button on a mouse device.
- Msaa
- Component for configuring the number of samples for Multi-Sample Anti-Aliasing
for a
Camera
. - Parallax
Mapping Method - The parallax mapping method to use to compute depth based on the
material’s
depth_map
. - Ping
Pong Error - An error indicating that a ping ponging of a curve couldn’t be performed because of malformed inputs.
- Pointer
Button - The button that was just pressed or released
- Projection
- A configurable
CameraProjection
that can select its projection type at runtime. - Repeat
Error - An error indicating that a repetition of a curve couldn’t be performed because of malformed inputs.
- Resampling
Error - An error indicating that a resampling operation could not be performed because of malformed inputs.
- Reverse
Error - An error indicating that a reversion of a curve couldn’t be performed because of malformed inputs.
- RunFixed
Main Loop System - Set enum for the systems that want to run inside
RunFixedMainLoop
, but before or after the fixed update logic. Systems in this set will run exactly once per frame, regardless of the number of fixed updates. They will also run under a variable timestep. - Texture
Error - An error that occurs when loading a texture
- Timer
Mode - Specifies
Timer
behavior. - Torus
Kind - The type of torus determined by the minor and major radii
- Transform
System - Set enum for the systems relating to transform propagation
- Untyped
Handle - An untyped variant of
Handle
, which internally stores theAsset
type information at runtime as aTypeId
instead of encoding it in the compile-time type. This allows handles acrossAsset
types to be stored together and compared. - Visibility
- User indication of whether an entity is visible. Propagates down the entity hierarchy.
- Winding
Order - The winding order for a set of points
- Window
Position - Defines where a
Window
should be placed on the screen.
Traits§
- Alpha
- Methods for manipulating alpha values.
- Asset
- Declares that this type is an asset,
which can be loaded and managed by the
AssetServer
and stored inAssets
collections. - Asset
App - Adds asset-related builder methods to
App
. - Build
Children - Trait for removing, adding and replacing children and parents of an entity.
- Build
Children Transform Ext - Collection of methods similar to
BuildChildren
, but preserving each entity’sGlobalTransform
. - Bundle
- The
Bundle
trait enables insertion and removal ofComponent
s from an entity. - Child
Build - Trait for building children entities and adding them to a parent entity. This is used in
implementations of
BuildChildren
as a bound on theBuilder
associated type. The closure passed toBuildChildren::with_children
accepts an implementation ofChildBuild
so that children can be spawned viaChildBuild::spawn
. - Color
ToComponents - Trait with methods for converting colors to non-color types
- Color
ToPacked - Trait with methods for converting colors to packed non-color types
- Command
- A
World
mutation. - Component
- A data type that can be used to store data for an entity.
- Condition
- A system that determines if one or more scheduled systems should run.
- Cubic
Generator - Implement this on cubic splines that can generate a cubic curve from their spline parameters.
- Curve
- A trait for a type that can represent values of type
T
parametrized over a fixed interval. - Cyclic
Cubic Generator - Implement this on cubic splines that can generate a cyclic cubic curve from their spline parameters.
- Despawn
Recursive Ext - Trait that holds functions for despawning recursively down the transform hierarchy
- Detect
Changes - Types that can read change detection information.
This change detection is controlled by
DetectChangesMut
types such asResMut
. - Detect
Changes Mut - Types that implement reliable change detection.
- Direct
Asset Access Ext - Ease
- A type whose values can be eased between.
- Entity
Command - A
Command
which gets executed for a givenEntity
. - Entity
Mapper - An implementor of this trait knows how to map an
Entity
into anotherEntity
. - Event
- Something that “happens” and might be read / observed by app logic.
- Float
Ext - A trait for extending
f32
andf64
with extra methods. - From
Reflect - A trait that enables types to be dynamically constructed from reflected data.
- FromRng
- Ergonomics trait for a type with a
Standard
distribution, allowing values to be generated uniformly from anRng
by a method in its own namespace. - From
World - Creates an instance of the type this trait is implemented for
using data from the supplied
World
. - GetField
- A convenience trait which combines fetching and downcasting of struct fields.
- GetPath
- A trait which allows nested
Reflect
values to be retrieved with path strings. - GetTuple
Struct Field - A convenience trait which combines fetching and downcasting of tuple struct fields.
- Gray
- Trait for returning a grayscale color of a provided lightness.
- Hierarchy
Query Ext - An extension trait for
Query
that adds hierarchy related methods. - Hue
- Trait for manipulating the hue of a color.
- Into
System - Conversion trait to turn something into a
System
. - Into
System Configs - Types that can convert into a
SystemConfigs
. - Into
System Set - Types that can be converted into a
SystemSet
. - Into
System SetConfigs - Types that can convert into a
SystemSetConfigs
. - Luminance
- Methods for changing the luminance of a color. Note that these methods are not guaranteed to produce consistent results across color spaces, but will be within a given space.
- Material
- Materials are used alongside
MaterialPlugin
,Mesh3d
, andMeshMaterial3d
to spawn entities that are rendered with a specificMaterial
type. They serve as an easy to use high level way to renderMesh3d
entities with custom shader logic. - Measured2d
- A trait for getting measurements of 2D shapes
- Measured3d
- A trait for getting measurements of 3D shapes
- Mesh
Builder - A trait used to build
Mesh
es from a configuration - Meshable
- A trait for shapes that can be turned into a
Mesh
. - Mix
- Linear interpolation of two colors within a given color space.
- Partial
Reflect - The foundational trait of
bevy_reflect
, used for accessing and modifying data dynamically. - Plugin
- A collection of Bevy app logic and configuration.
- Plugin
Group - Combines multiple
Plugin
s into a single unit. - Primitive2d
- A marker trait for 2D primitives
- Primitive3d
- A marker trait for 3D primitives
- Rational
Generator - Implement this on cubic splines that can generate a rational cubic curve from their spline parameters.
- Read
Only System System
types that do not modify theWorld
when run. This is implemented for any systems whose parameters all implementReadOnlySystemParam
.- Reflect
- A core trait of
bevy_reflect
, used for downcasting to concrete types. - Reflect
Path - Something that can be interpreted as a reflection path in
GetPath
. - Resource
- A type that can be inserted into a
World
as a singleton. - Shape
Sample - Exposes methods to uniformly sample a variety of primitive shapes.
- Stable
Interpolate - A type with a natural interpolation that provides strong subdivision guarantees.
- Struct
- A trait used to power struct-like operations via reflection.
- System
- An ECS system that can be added to a
Schedule
- System
Input - Trait for types that can be used as input to
System
s. - System
Param Builder - A builder that can create a
SystemParam
. - System
Param Function - A trait implemented for all functions that can be used as
System
s. - System
Set - Types that identify logical groups of systems.
- Transform
Point - A trait for point transformation methods.
- Tuple
Struct - A trait used to power tuple struct-like operations via reflection.
- Type
Path - A static accessor to type paths and names.
- Vec2
Swizzles - Vec3
Swizzles - Vec4
Swizzles - _
Functions§
- any_
component_ removed - A
Condition
-satisfying system that returnstrue
if there are any entity with a component of the given type removed. - any_
with_ component - A
Condition
-satisfying system that returnstrue
if there are any entities with the given component type. - apply_
deferred - Instructs the executor to call
System::apply_deferred
on the systems that have run but not applied theirDeferred
system parameters (likeCommands
) or other system buffers. - condition_
changed - Generates a
Condition
that returns true when the passed one changes. - condition_
changed_ to - Generates a
Condition
that returns true when the result of the passed one went from false to true since the last time this was called. - default
- An ergonomic abbreviation for
Default::default()
to make initializing structs easier. - despawn_
with_ children_ recursive - Function for despawning an entity and all its children
- interval
- Create an
Interval
with a givenstart
andend
. Alias ofInterval::new
. - not
- Generates a
Condition
that inverses the result of passed one. - on_
event - A
Condition
-satisfying system that returnstrue
if there are any new events of the given type since it was last called. - pointer_
events - Dispatches interaction events to the target entities.
- resource_
added - A
Condition
-satisfying system that returnstrue
if the resource of the given type has been added since the condition was last checked. - resource_
changed - A
Condition
-satisfying system that returnstrue
if the resource of the given type has had its value changed since the condition was last checked. - resource_
changed_ or_ removed - A
Condition
-satisfying system that returnstrue
if the resource of the given type has had its value changed since the condition was last checked. - resource_
equals - Generates a
Condition
-satisfying closure that returnstrue
if the resource is equal tovalue
. - resource_
exists - A
Condition
-satisfying system that returnstrue
if the resource exists. - resource_
exists_ and_ changed - A
Condition
-satisfying system that returnstrue
if the resource of the given type has had its value changed since the condition was last checked. - resource_
exists_ and_ equals - Generates a
Condition
-satisfying closure that returnstrue
if the resource exists and is equal tovalue
. - resource_
removed - A
Condition
-satisfying system that returnstrue
if the resource of the given type has been removed since the condition was last checked. - run_
once - A
Condition
-satisfying system that returnstrue
on the first time the condition is run and false every time after.
Type Aliases§
- PbrBundle
Deprecated - A component bundle for PBR entities with a
Mesh3d
and aMeshMaterial3d<StandardMaterial>
. - System
In - Shorthand way to get the
System::In
for aSystem
as aSystemInput::Inner
.
Attribute Macros§
- bevy_
main - reflect_
trait - A macro that automatically generates type data for traits, which their implementors can then register.
Derive Macros§
- Asset
- Bundle
- Component
- Deref
- Implements
Deref
for structs. This is especially useful when utilizing the newtype pattern. - Deref
Mut - Implements
DerefMut
for structs. This is especially useful when utilizing the newtype pattern. - Event
- From
Reflect - Derives the
FromReflect
trait. - Reflect
- The main derive macro used by
bevy_reflect
for deriving itsReflect
trait. - Resource
- System
Set - Derive macro generating an impl of the trait
SystemSet
. - Type
Path - Derives the
TypePath
trait, providing a stable alternative to [std::any::type_name
].