Module prelude

Source
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.
derivatives
This module holds traits related to extracting derivatives from curves. In applications, the derivatives of interest are chiefly the first and second; in this module, these are provided by the traits CurveWithDerivative and CurveWithTwoDerivatives.
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 the Curve 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.
vec
A contiguous growable array type with heap-allocated contents, written Vec<T>.

Macros§

children
Returns a SpawnRelatedBundle that will insert the Children component, spawn a SpawnableList of entities with given bundles that relate to the Children entity via the ChildOf component, and reserve space in the Children for each spawned entity.
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.
format
Creates a String using interpolation of runtime expressions.
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.
related
Returns a SpawnRelatedBundle that will insert the given RelationshipTarget, spawn a SpawnableList of entities with given bundles that relate to the RelationshipTarget entity via the RelationshipTarget::Relationship component, and reserve space in the RelationshipTarget for each spawned entity.
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.
vec
Creates a Vec containing the arguments.
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§

Added
A filter on a component that only retains results the first time after they have been added.
AmbientLight
An ambient light, which lights the entire scene equally.
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.
AppTypeRegistry
A Resource storing TypeRegistry for type registrations relevant to a whole app.
ApplyDeferred
A special System that instructs the executor to call System::apply_deferred on the systems that have run but not applied their Deferred system parameters (like Commands) or other system buffers.
Arc2d
A primitive representing an arc between two points on a circle.
AssetChanged
Filter that selects entities with an A for an asset that changed after the system last ran, where A is a component that implements AsAssetId.
AssetPlugin
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.
AssetServer
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.
Assets
Stores Asset values identified by their AssetId.
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.
BVec3A
A 3-dimensional SIMD vector mask.
BVec4A
A 4-dimensional SIMD vector mask.
BevyError
The built in “universal” Bevy error type. This has a blanket From impl for any type that implements Rust’s Error, meaning it can be used as a “catch all” error.
Box
A pointer type that uniquely owns a heap allocation of type T.
BoxedPolygon
A polygon with a variable number of vertices, allocated on the heap in a Box<[Vec2]>.
BoxedPolyline2d
A series of connected line segments in 2D space, allocated on the heap in a Box<[Vec2]>.
BoxedPolyline3d
A series of connected line segments in 3D space, allocated on the heap in a Box<[Vec3]>.
ButtonInput
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.
Camera3d
A 3D camera component. Enables the main 3D render graph for a Camera.
Cancel
Fires when a pointer is canceled, and its 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
ChainCurve
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.
ChildOf
Stores the parent entity of this child entity with this component.
Children
Tracks which entities are children of this parent entity.
Circle
A circle primitive, representing the set of points some distance from the origin
CircularSector
A primitive representing a circular sector: a pie slice of a circle.
CircularSegment
A primitive representing a circular segment: the area enclosed by the arc of a circle and its chord (the line between its endpoints).
ClearColor
A Resource that stores the color that is used to clear the screen between frames.
Click
Fires when a pointer sends a pointer pressed event followed by a pointer released event, with the same target entity for both events.
Commands
A Command queue to perform structural changes to the World.
Cone
A cone primitive centered on the midpoint between the tip of the cone and the center of its base.
ConicalFrustum
A conical frustum primitive. A conical frustum can be created by slicing off a section of a cone.
ConstantCurve
A curve with a constant value over its domain.
ContinuationCurve
The curve that results from chaining two curves.
ConvexPolygon
A convex polygon with N vertices.
CubicBSpline
A spline interpolated continuously across the nearest four control points. The curve does not necessarily pass through any of the control points.
CubicBezier
A spline composed of a single cubic Bezier curve.
CubicCardinalSpline
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.
CubicCurve
A collection of CubicSegments chained into a single parametric curve. It is a Curve with domain [0, N], where N is its number of segments.
CubicHermite
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.
CubicNurbs
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).
CubicSegment
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.
CursorEntered
An event that is sent whenever the user’s cursor enters a window.
CursorLeft
An event that is sent whenever the user’s cursor leaves a window.
CursorMoved
An event reporting that the mouse cursor has moved inside a window.
CurveReparamCurve
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 CurveExt::reparametrize_by_curve.
Cylinder
A cylinder primitive centered on the origin
DefaultPickingPlugins
One plugin that contains the PointerInputPlugin, PickingPlugin and the InteractionPlugin, this is probably the plugin that will be most used.
DefaultPlugins
This plugin group will add all the default plugins for a Bevy application:
Deferred
A SystemParam that stores a buffer which gets applied to the World during ApplyDeferred. This is used internally by Commands to defer World mutations.
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.
DirectionalLight
A Directional light.
DistanceFog
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.
Drag
Fires while the target entity is being dragged.
DragDrop
Fires when a pointer drops the dropped entity onto the target entity.
DragEnd
Fires when a pointer is dragging the target entity and a pointer released event is received.
DragEnter
Fires when a pointer dragging the dragged entity enters the target entity.
DragEntry
Dragging state.
DragLeave
Fires when a pointer dragging the dragged entity leaves the target entity.
DragOver
Fires while the dragged entity is being dragged over the target entity.
DragStart
Fires when the target entity receives a pointer pressed event followed by a pointer move event.
DynamicTextureAtlasBuilder
Helper utility to update TextureAtlasLayout on the fly.
EasingCurve
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.
EntityCommands
A list of commands that will be run to modify an Entity.
EntityMut
Provides mutable access to a single entity and all of its components.
EntityRef
A read-only reference to a particular Entity and all of its components.
EntityWorldMut
A mutable reference to a particular Entity, and the entire world.
EnvironmentMapLight
A pair of cubemap textures that represent the surroundings of a specific area in space.
EvenCore
The data core of a curve derived from evenly-spaced samples. The intention is to use this in addition to explicit or inferred interpolation information in user-space in order to implement curves using domain and sample_with.
EventMutator
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.
EventReader
Reads events of type T in order and tracks which events have already been read.
EventWriter
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 an EventWriter and are typically cheaply read using an EventReader.
ExtractSchedule
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.
FilteredResources
Provides read-only access to a set of Resources defined by the contained Access.
FilteredResourcesMut
Provides mutable access to a set of Resources defined by the contained Access.
First
Runs first in the schedule.
Fixed
The fixed timestep game clock following virtual time.
FixedFirst
Runs first in the FixedMain schedule.
FixedLast
The schedule that runs last in FixedMain
FixedPostUpdate
The schedule that runs after the FixedUpdate schedule, for reacting to changes made in the main update logic.
FixedPreUpdate
The schedule that contains logic that must run before FixedUpdate.
FixedUpdate
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.
ForeverCurve
The curve that results from repeating a curve forever.
FunctionCurve
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 and GamepadAxis.
GamepadSettings
Gamepad settings component.
GlobalTransform
GlobalTransform is an affine transformation from entity-local coordinates to worldspace coordinates.
GraphCurve
A curve that is the graph of another curve over its parameter space. Curves of this type are produced by CurveExt::graph.
Has
Returns a bool that describes if an entity has the component T.
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
ImagePlugin
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 a System receives an input value of type T from its caller.
InMut
A SystemInput type which denotes that a System receives a mutable reference to a value of type T from its caller.
InRef
A SystemInput type which denotes that a System receives a read-only reference to a value of type T from its caller.
InfinitePlane3d
An unbounded plane in 3D space. It forms a separating surface through the origin, stretching infinitely far
InheritedVisibility
Whether or not an entity is visible in the hierarchy. This will not be accurate until VisibilityPropagate runs in the PostUpdate schedule.
InteractionPlugin
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
LightProbe
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.
LinearReparamCurve
A curve that has had its domain changed by a linear reparameterization (stretching and scaling). Curves of this type are produced by CurveExt::reparametrize_linear.
LinearRgba
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 CurveExt::map.
Mat2
A 2x2 column major matrix.
Mat3
A 3x3 column major matrix.
Mat4
A 4x4 column major matrix.
Mat3A
A 3x3 column major matrix.
MaterialPlugin
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 a ColorMaterial.
Mesh3d
A component for 3D meshes. Requires a MeshMaterial3d to be rendered, commonly using a StandardMaterial.
MeshMaterial3d
A material used for rendering a Mesh3d.
MinimalPlugins
This plugin group will add the minimal plugins for a Bevy application:
MorphWeights
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 child MeshMorphWeights if your situation requires more granularity. Just note that if you set MorphWeights, it will overwrite child MeshMorphWeights 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.
NameOrEntity
Convenient query for giving a human friendly name to an entity.
NonSend
Shared borrow of a non-Send resource.
NonSendMarker
A dummy type that is !Send, to force systems to run on the main thread.
NonSendMut
Unique borrow of a non-Send resource.
Observer
An Observer system. Add this Component to an Entity 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 inserted onto an entity that does not already have that component. Runs before OnInsert. See crate::component::ComponentHooks::on_add for more information.
OnInsert
Trigger emitted when a component is inserted, regardless of whether or not the entity already had that component. Runs after OnAdd, if it ran. See crate::component::ComponentHooks::on_insert for more information.
OnRemove
Trigger emitted when a component is removed from an entity, and runs before the component is removed, so you can still access the component data. See crate::component::ComponentHooks::on_remove for more information.
OnReplace
Trigger emitted when a component is inserted onto an entity that already has that component. Runs before the value is replaced, so you can still access the original component data. See crate::component::ComponentHooks::on_replace for more information.
Or
A filter that tests if any of the given filters apply.
OrthographicProjection
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.
ParallelCommands
An alternative to Commands that can be used in parallel contexts, such as those in Query::par_iter.
ParamSet
A collection of potentially conflicting SystemParams allowed by disjoint access.
PerspectiveProjection
A 3D camera projection in which distant objects appear smaller than close objects.
Pickable
An optional component that marks an entity as usable by a backend, and overrides default picking behavior for an entity.
PickingEventWriters
A helper system param for accessing the picking event writers.
PickingPlugin
This plugin sets up the core picking infrastructure. It receives input events, and provides the shared types used by other picking plugins.
PingPongCurve
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.
PointLight
A light that emits light in all directions from a central point.
Pointer
Stores the common data needed for all pointer events.
PointerButtonState
An entry in the cache that drives the pointer_events system, storing additional data about pointer button presses.
PointerInputPlugin
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.
PointerState
State for all pointers.
PointerTraversal
A traversal query (i.e. it implements Traversal) intended for use with Pointer events.
PointerTraversalItem
Automatically generated WorldQuery item type for PointerTraversal, returned when iterating over query results.
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.
PostStartup
The schedule that runs once after Startup.
PostUpdate
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”.
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 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”.
Pressed
Fires when a pointer button is pressed over the target entity.
Quat
A quaternion representing an orientation.
Query
A system parameter that provides selective access to the Component data stored in a World.
QueryBuilder
Builder struct to create QueryState instances at runtime.
QueryState
Provides scoped access to a World state according to a given QueryData and QueryFilter.
RationalCurve
A collection of RationalSegments chained into a single parametric curve. It is a Curve with domain [0, N], where N is the number of segments.
RationalSegment
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 in direction in 2D space.
Ray3d
An infinite half-line starting at origin and going in direction 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.
ReflectComponent
A struct used to operate on reflected Component trait of a type.
ReflectDefault
A struct used to provide the default value of a type.
ReflectDeserialize
A struct used to deserialize reflected instances of a type.
ReflectFromReflect
Type data that represents the FromReflect trait and allows it to be used dynamically.
ReflectFromWorld
A struct used to operate on the reflected FromWorld trait of a type.
ReflectResource
A struct used to operate on reflected Resource of a type.
ReflectSerialize
A struct used to serialize reflected instances of a type.
RegularPolygon
A polygon centered on the origin where all vertices lie on a circle, equally far apart.
Released
Fires when a pointer button is released over the target entity.
RemovedComponents
A SystemParam that yields entities that had their T Component removed or have been despawned with it.
ReparamCurve
A curve whose sample space is mapped onto that of some base curve’s before sampling. Curves of this type are produced by CurveExt::reparametrize.
RepeatCurve
The curve that results from repeating a curve N times.
Res
Shared borrow of a Resource.
ResMut
Unique mutable borrow of a Resource.
ReverseCurve
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.
RunFixedMainLoop
Runs the FixedMain schedule in a loop according until all relevant elapsed time has been “consumed”.
SampleAutoCurve
A curve that is defined by neighbor interpolation over a set of evenly-spaced samples, interpolated automatically using a particularly well-behaved interpolation.
SampleCurve
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 Schedules mapped to ScheduleLabels excluding the current running Schedule.
ScreenSpaceAmbientOcclusionPlugin
Plugin for screen space ambient occlusion.
Scroll
Fires while a pointer is scrolling over the target entity.
Segment2d
A line segment defined by two endpoints in 2D space.
Segment3d
A line segment defined by two endpoints in 3D space.
Shader
A shader, as defined by its ShaderSource and ShaderStage 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.
Spawn
A wrapper over a Bundle indicating that an entity should be spawned with that Bundle. This is intended to be used for hierarchical spawning via traits like SpawnableList and SpawnRelated.
SpawnScene
The schedule that contains scene spawning.
Sphere
A sphere primitive, representing the set of all points some distance from the origin
SpotLight
A light that emits light in a given direction from a central point.
Srgba
Non-linear standard RGB with alpha.
StandardMaterial
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.
String
A UTF-8–encoded, growable string.
SubApp
A secondary application with its own World. These can run independently of each other.
TaskPoolOptions
Helper for configuring and creating the default task pools. For end-users who want full control, set up TaskPoolPlugin
TaskPoolPlugin
Setup of default task pools: AsyncComputeTaskPool, ComputeTaskPool, IoTaskPool.
Tetrahedron
A tetrahedron primitive.
TextureAtlas
An index into a TextureAtlasLayout, which corresponds to a specific section of a texture.
TextureAtlasBuilder
A builder which is used to create a texture atlas from many individual sprites.
TextureAtlasLayout
Stores a map used to lookup the position of a texture in a TextureAtlas. This can be used to either use and look up a specific section of a texture, or animate frame-by-frame as a sprite sheet.
TextureAtlasSources
Stores a mapping from sub texture handles to the related area index.
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
TouchInput
A touch input event.
Touches
A collection of Touches.
Transform
Describe the position of an entity. If the entity has a parent, the position is relative to its parent position.
TransformHelper
System parameter for computing up-to-date GlobalTransforms.
TransformPlugin
The base plugin for handling Transform components
TransformTreeChanged
An optimization for transform propagation. This ZST marker component uses change detection to mark all entities of the hierarchy as “dirty” if any of their descendants have a changed Transform. If this component is not marked is_changed(), propagation will halt.
Triangle2d
A triangle in 2D space
Triangle3d
A 3D triangle primitive.
Trigger
Type containing triggered Event information for a given run of an Observer. This contains the Event data itself. If it was triggered for a specific Entity, it includes that as well. It also contains event propagation information. See Trigger::propagate for more information.
URect
A rectangle defined by two opposite corners.
UVec2
A 2-dimensional vector.
UVec3
A 3-dimensional vector.
UVec4
A 4-dimensional vector.
UnevenCore
The data core of a curve defined by unevenly-spaced samples or keyframes. The intention is to use this in concert with implicitly or explicitly-defined interpolation in user-space in order to implement the curve interface using domain and sample_with.
UnevenSampleAutoCurve
A curve that is defined by interpolation over unevenly spaced samples, interpolated automatically using a particularly well-behaved interpolation.
UnevenSampleCurve
A curve that is defined by interpolation over unevenly spaced samples with explicit interpolation.
Update
The schedule that contains any app logic that must run once per render frame. For most gameplay logic, consider using FixedUpdate instead.
Vec
A contiguous growable array type, written as Vec<T>, short for ‘vector’.
Vec2
A 2-dimensional vector.
Vec3
A 3-dimensional vector.
Vec4
A 4-dimensional vector.
Vec3A
A 3-dimensional vector.
ViewVisibility
Algorithmically-computed indication of whether an entity is visible and should be extracted for rendering.
Virtual
The virtual game clock representing game time.
Window
The defining Component for window entities, storing information about how it should appear and behave.
WindowMoved
An event that is sent when a window is repositioned in physical pixels.
WindowPlugin
A Plugin that defines an interface for windowing support in Bevy.
WindowResizeConstraints
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.
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 CurveExt::zip.

Enums§

AlphaMode
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.
AssetEvent
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 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.
AssetMode
Controls whether or not assets are pre-processed before being loaded.
ChainError
An error indicating that an end-to-end composition couldn’t be performed because of malformed inputs.
ClearColorConfig
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.
ConvexPolygonError
An error that happens when creating a ConvexPolygon.
CubicNurbsError
Error during construction of CubicNurbs
EaseFunction
Curve functions over the unit interval, commonly used for easing transitions.
EulerRot
Euler rotation sequences.
FileDragAndDrop
Events related to files being dragged and dropped on a window.
FogFalloff
Allows switching between different fog falloff modes, and configuring their parameters.
GamepadAxis
Represents gamepad input types that are mapped in the range [-1.0, 1.0].
GamepadButton
Represents gamepad input types that are mapped in the range [0.0, 1.0].
Handle
A handle to a specific Asset of type A. Handles act as abstract “references” to assets, whose data are stored in the Assets<A> resource, avoiding the need to store multiple copies of the same data.
HexColorError
Error returned if a hex string could not be parsed as a color.
ImageFormat
Ime
An Input Method Editor event.
JumpAt
Configuration options for the EaseFunction::Steps curves. This closely replicates the CSS step function specification.
KeyCode
The key code of a KeyboardInput.
LinearReparamError
An error indicating that a linear reparameterization couldn’t be performed because of malformed inputs.
MonitorSelection
References a screen monitor.
MouseButton
A button on a mouse device.
Msaa
Component for configuring the number of samples for Multi-Sample Anti-Aliasing for a Camera.
ParallaxMappingMethod
The parallax mapping method to use to compute depth based on the material’s depth_map.
PingPongError
An error indicating that a ping ponging of a curve couldn’t be performed because of malformed inputs.
PointerButton
The button that was just pressed or released
Projection
Component that defines how to compute a Camera’s projection matrix.
RepeatError
An error indicating that a repetition of a curve couldn’t be performed because of malformed inputs.
ResamplingError
An error indicating that a resampling operation could not be performed because of malformed inputs.
ReverseError
An error indicating that a reversion of a curve couldn’t be performed because of malformed inputs.
RunFixedMainLoopSystem
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.
TextureError
An error that occurs when loading a texture.
TimerMode
Specifies Timer behavior.
TorusKind
The type of torus determined by the minor and major radii
TransformSystem
Set enum for the systems relating to transform propagation
UntypedHandle
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.
VideoModeSelection
References an exclusive fullscreen video mode.
Visibility
User indication of whether an entity is visible. Propagates down the entity hierarchy.
WindingOrder
The winding order for a set of points
WindowPosition
Defines where a Window should be placed on the screen.

Constants§

apply_deferredDeprecated
See ApplyDeferred.

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 in Assets collections.
AssetApp
Adds asset-related builder methods to App.
BuildChildrenTransformExt
Collection of methods similar to the built-in parenting methods on EntityWorldMut and EntityCommands, but preserving each entity’s GlobalTransform.
Bundle
The Bundle trait enables insertion and removal of Components from an entity.
ColorToComponents
Trait with methods for converting colors to non-color types
ColorToPacked
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.
ContainsEntity
A trait for types that contain an Entity.
CubicGenerator
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.
CurveExt
Extension trait implemented by curves, allowing access to a number of adaptors and convenience methods.
CurveResampleExt
Extension trait implemented by curves, allowing access to generic resampling methods as well as those based on stable interpolation.
CyclicCubicGenerator
Implement this on cubic splines that can generate a cyclic cubic curve from their spline parameters.
DetectChanges
Types that can read change detection information. This change detection is controlled by DetectChangesMut types such as ResMut.
DetectChangesMut
Types that implement reliable change detection.
DirectAssetAccessExt
An extension trait for methods for working with assets directly from a World.
Ease
A type whose values can be eased between.
EntityCommand
A command which gets executed for a given Entity.
EntityMapper
An implementor of this trait knows how to map an Entity into another Entity.
Event
Something that “happens” and might be read / observed by app logic.
FloatExt
A trait for extending f32 and f64 with extra methods.
FromReflect
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 an Rng by a method in its own namespace.
FromWorld
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.
GetTupleStructField
A convenience trait which combines fetching and downcasting of tuple struct fields.
Gray
Trait for returning a grayscale color of a provided lightness.
Hue
Trait for manipulating the hue of a color.
IntoScheduleConfigs
Types that can convert into a ScheduleConfigs.
IntoSystem
Conversion trait to turn something into a System.
IntoSystemSet
Types that can be converted into a SystemSet.
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, and MeshMaterial3d to spawn entities that are rendered with a specific Material type. They serve as an easy to use high level way to render Mesh3d entities with custom shader logic.
Measured2d
A trait for getting measurements of 2D shapes
Measured3d
A trait for getting measurements of 3D shapes
MeshBuilder
A trait used to build Meshes 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.
PartialReflect
The foundational trait of bevy_reflect, used for accessing and modifying data dynamically.
Plugin
A collection of Bevy app logic and configuration.
PluginGroup
Combines multiple Plugins into a single unit.
Primitive2d
A marker trait for 2D primitives
Primitive3d
A marker trait for 3D primitives
RationalGenerator
Implement this on cubic splines that can generate a rational cubic curve from their spline parameters.
ReadOnlySystem
System types that do not modify the World when run. This is implemented for any systems whose parameters all implement ReadOnlySystemParam.
Reflect
A core trait of bevy_reflect, used for downcasting to concrete types.
ReflectPath
Something that can be interpreted as a reflection path in GetPath.
RelationshipTarget
A Component containing the collection of entities that relate to this Entity via the associated Relationship type. See the Relationship documentation for more information.
Resource
A type that can be inserted into a World as a singleton.
Saturation
Trait for manipulating the saturation of a color.
ShapeSample
Exposes methods to uniformly sample a variety of primitive shapes.
SpawnRelated
RelationshipTarget methods that create a Bundle with a DynamicBundle::Effect that:
StableInterpolate
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
SystemInput
Trait for types that can be used as input to Systems.
SystemParamBuilder
A builder that can create a SystemParam.
SystemParamFunction
A trait implemented for all functions that can be used as Systems.
SystemSet
Types that identify logical groups of systems.
ToOwned
A generalization of Clone to borrowed data.
ToString
A trait for converting a value to a String.
TransformPoint
A trait for point transformation methods.
TupleStruct
A trait used to power tuple struct-like operations via reflection.
TypePath
A static accessor to type paths and names.
Vec2Swizzles
Vec3Swizzles
Vec4Swizzles
_

Functions§

any_component_removed
A Condition-satisfying system that returns true if there are any entity with a component of the given type removed.
any_match_filter
A Condition-satisfying system that returns true if there are any entities that match the given QueryFilter.
any_with_component
A Condition-satisfying system that returns true if there are any entities with the given component type.
bvec2
Creates a 2-dimensional bool vector mask.
bvec3
Creates a 3-dimensional bool vector mask.
bvec4
Creates a 4-dimensional bool vector mask.
bvec3a
Creates a 3-dimensional bool vector mask.
bvec4a
Creates a 4-dimensional bool vector mask.
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.
interval
Create an Interval with a given start and end. Alias of Interval::new.
ivec2
Creates a 2-dimensional vector.
ivec3
Creates a 3-dimensional vector.
ivec4
Creates a 4-dimensional vector.
mat2
Creates a 2x2 matrix from two column vectors.
mat3
Creates a 3x3 matrix from three column vectors.
mat4
Creates a 4x4 matrix from four column vectors.
mat3a
Creates a 3x3 matrix from three column vectors.
not
Generates a Condition that inverses the result of passed one.
on_event
A Condition-satisfying system that returns true if there are any new events of the given type since it was last called.
pointer_events
Dispatches interaction events to the target entities.
quat
Creates a quaternion from x, y, z and w values.
resource_added
A Condition-satisfying system that returns true if the resource of the given type has been added since the condition was last checked.
resource_changed
A Condition-satisfying system that returns true 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 returns true 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 returns true if the resource is equal to value.
resource_exists
A Condition-satisfying system that returns true if the resource exists.
resource_exists_and_changed
A Condition-satisfying system that returns true 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 returns true if the resource exists and is equal to value.
resource_removed
A Condition-satisfying system that returns true if the resource of the given type has been removed since the condition was last checked.
run_once
A Condition-satisfying system that returns true on the first time the condition is run and false every time after.
uvec2
Creates a 2-dimensional vector.
uvec3
Creates a 3-dimensional vector.
uvec4
Creates a 4-dimensional vector.
vec2
Creates a 2-dimensional vector.
vec3
Creates a 3-dimensional vector.
vec4
Creates a 4-dimensional vector.
vec3a
Creates a 3-dimensional vector.

Type Aliases§

ChildSpawner
A type alias over RelatedSpawner used to spawn child entities containing a ChildOf relationship.
ChildSpawnerCommands
A type alias over RelatedSpawnerCommands used to spawn child entities containing a ChildOf relationship.
Result
A result type for use in fallible systems, commands and observers.
SystemIn
Shorthand way to get the System::In for a System as a SystemInput::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.
DerefMut
Implements DerefMut for structs. This is especially useful when utilizing the newtype pattern.
Event
FromReflect
Derives the FromReflect trait.
FromWorld
Reflect
The main derive macro used by bevy_reflect for deriving its Reflect trait.
Resource
SystemSet
Derive macro generating an impl of the trait SystemSet.
TypePath
Derives the TypePath trait, providing a stable alternative to [std::any::type_name].