logo
Expand description

use bevy::prelude::*; to import common components, bundles, and plugins.

Modules

Generation for some primitive shape meshes.

Macros

Constructs an event at the debug level.

Constructs a span at the debug level.

Constructs an event at the error level.

Constructs a span at the error level.

Constructs an event at the info level.

Constructs a span at the info level.

Constructs an event at the trace level.

Constructs a span at the trace level.

Constructs an event at the warn level.

Constructs a span at the warn level.

Structs

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.

A list of VariableCurve, and the EntityPath to which they apply.

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.

Loads assets from the filesystem in the background.

Stores Assets of a given type and tracks changes to them.

Use this resource to play audio

Used internally to play audio on the current “audio device”

A source of audio data

Stores the position data of the input devices of type T.

A 2-dimensional boolean vector.

A 3-dimensional boolean vector.

A 4-dimensional boolean vector.

Marker struct for buttons

A UI node that is a button

The calculated clip of the node

The calculated size of the node

Configuration for the “main 3d render graph”.

WorldQuery that tracks changes and additions for component T.

A filter on a component that only retains results added or mutably dereferenced after the system last ran.

Struct for building children onto an entity

Contains references to the child entities of this entity

When used as a resource, sets the color that is used to clear the screen between frames.

A 2d material that renders 2d meshes with a texture tinted by a uniform color

A queue of commands that get executed at the end of the stage of the system that called them.

Algorithmically-computed indication of whether an entity is visible and should be extracted for rendering

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 on a window.

This plugin group will add all the default plugins:

Helper for configuring and creating the default task pools. For end-users who want full control, insert the default task pools into the resource map manually. If the pools are already inserted, this helper will do nothing.

Despawns the given entity’s children recursively

Despawns the given entity and all its children recursively

A Directional light.

A component bundle for DirectionalLight entities.

A collection of serializable dynamic entities, each with its own run-time defined set of components. To spawn a dynamic scene, you can use either:

A component bundle for a DynamicScene root.

Lightweight identifier of an entity.

Path to an entity, with Names. Each entity in a path must have a name.

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.

Container of unique connected Gamepads

Describe the position of an entity relative to the reference frame.

A handle into a specific Asset of type T.

A non-generic version of Handle.

The base plugin for handling Parent and Children components

A 2-dimensional vector.

A 3-dimensional vector.

A 4-dimensional vector.

A UI node that is an image

Wrapper type to mark a SystemParam as an input.

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

A system local SystemParam.

A 2x2 column major matrix.

A 3x3 column major matrix.

A 4x4 column major matrix.

A component bundle for entities with a Mesh and a Material.

Adds the necessary ECS resources and render logic to enable rendering entities using the given Material asset type.

Minimal plugin group that will add the following plugins:

Configuration resource for Multi-Sample Anti-Aliasing.

Unique mutable borrow of an entity’s component

Component used to identify an entity. Stores a hash for faster comparisons The hash is eagerly re-computed upon each update to the name.

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.

A filter that tests if any of the given filters apply.

An alternative to Commands that can be used in parallel contexts, such as those in Query::par_for_each

Holds a reference to the parent entity of this entity. This component should only be present on entities that actually have a parent entity.

Settings to control playback from the start.

A light that emits light in all directions from a central point.

A component bundle for PointLight entities.

Command that pushes children to the end of the entity’s children

A quaternion representing an orientation.

Provides scoped access to components in a World.

Provides scoped access to a World state according to a given WorldQuery and query filter.

An event that is sent whenever a window receives a character from the OS or underlying system.

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.

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 that child’s parent and inserts it into the previous parent component

A SystemParam that grants access to the entities that had their T Component removed.

Shared borrow of a resource.

Unique mutable borrow of a resource.

To spawn a scene, you can use either:

A component bundle for a Scene root.

A container of Stages set to be run in a linear order.

A shader, as defined by its ShaderSource and ShaderStage This is an “unprocessed” shader. It can contain preprocessor directives.

A 2-dimensional area defined by a width and height.

A Bundle with the following Components:

A light that emits light in a given direction from a central point. Behaves like a point light in a perfectly absorbant 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)

A material with “standard” properties used in PBR lighting Standard property values with pictures here https://google.github.io/filament/Material%20Properties.pdf.

The label for the startup Schedule, which runs once at the beginning of the App.

Stack based state machine

Describes the style of a UI node

A builder for describing several systems at the same time.

Stores and executes systems. Execution order is not defined unless explicitly specified; see SystemDescriptor documentation.

The bundle of components needed to draw text in a 2D scene via a 2D Camera2dBundle. Example usage.

A UI node that is text

An atlas containing multiple textures (like a spritesheet or a tilemap). Example usage animating sprite. Example usage loading sprite sheet.

A builder which is used to create a texture atlas from many individual sprites.

Tracks elapsed time since the last update and since the App has started

Tracks elapsed time. Enters the finished state once duration is reached.

A touch input event.

A collection of Touches.

Describe the position of an entity. If the entity has a parent, the position is relative to its parent position.

A Bundle of the Transform and GlobalTransform Components, which describe the position of an entity.

The base plugin for handling Transform components

A 2-dimensional vector.

A 3-dimensional vector.

A 4-dimensional vector.

Configuration for cameras related to UI.

The color of the node

The image of the node

A type which is commonly used to define positions, margins, paddings and borders.

Describes how an attribute of a Transform should be animated.

A 2-dimensional vector.

A 3-dimensional vector.

A 4-dimensional vector with SIMD support.

User indication of whether an entity is visible. Propagates down the entity hierarchy. If an entity is hidden in this way, all Children (and all of their children and so on) will also be hidden. This is done by setting the values of their ComputedVisibility component.

A Bundle of the Visibility and ComputedVisibility Components, which describe the visibility of an entity.

An operating system window that can present content and receive user input.

Describes the information needed for creating a window.

An event that is sent when a window is repositioned in physical pixels.

A collection of Windows with unique WindowIds.

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

Enums

Defines how each line is aligned within the flexbox.

How items are aligned according to the cross axis

Works like AlignItems but applies only to a single item

Alpha mode

Events that involve assets of type T.

The names of the default App stages.

The icon to display for a window’s cursor.

Defines the text direction

Whether to use a Flexbox layout model.

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

Describes horizontal alignment preference for positioning & bounds.

Describes what type of input interaction has occurred for a UI node.

Defines how items are aligned according to the main axis

The key code of a KeyboardInput.

List of keyframes for one of the attribute of a Transform.

Defines which monitor to use.

A button on a mouse device.

Whether to show or hide overflowing items

The strategy used to position this node

The names of the default App startup stages.

An enum that describes possible types of value in flexbox layout options

Describes vertical alignment preference for positioning & bounds. Currently a placeholder for future functionality.

Defines where window should be placed at on creation.

Traits

App extension methods for adding new asset types.

A strongly-typed class of labels used to identify sets of systems with intentionally ambiguous execution order.

Trait defining how to build children

Trait that defines adding children to an entity directly through the World

An ordered collection of Components.

A data type that can be used to store data for an entity.

A type implementing this trait can be decoded as a rodio source

Trait that holds functions for despawning recursively down the transform hierarchy

Types that implement reliable change detection.

Creates an instance of the type this trait is implemented for using data from the supplied World.

A convenience trait which combines fetching and downcasting of struct fields.

A convenience trait which combines fetching and downcasting of tuple struct fields.

An extension trait providing the IntoChainSystem::chain method for convenient System chaining.

Conversion trait to turn something into a System.

Materials are used alongside MaterialPlugin and MaterialMeshBundle to spawn entities that are rendered with a specific Material type. They serve as an easy to use high level way to render Mesh entities with custom shader logic.

A collection of Bevy app logic and configuration.

Combines multiple Plugins into a single unit.

A reflected Rust type.

A strongly-typed class of labels used to identify run criteria.

A type that can run as a step of a Schedule.

A strongly-typed class of labels used to identify Stages.

A reflected Rust regular struct type.

An ECS system that can be added to a Schedule

A strongly-typed class of labels used to identify Systems.

A trait implemented for all functions that can be used as Systems.

A reflected Rust tuple struct.

Functions

An ergonomic abbreviation for Default::default() to make initializing structs easier. This is especially helpful when combined with “struct update syntax”.

Function for despawning an entity and all its children

Type Definitions

A component bundle for entities with a Mesh2dHandle and a ColorMaterial.

A component bundle for PBR entities with a Mesh and a StandardMaterial.

Attribute Macros

Derive Macros

Generates an impl of the AmbiguitySetLabel trait.

Implements Deref for single-item structs. This is especially useful when utilizing the newtype pattern.

Implements DerefMut for single-item structs. This is especially useful when utilizing the newtype pattern.

Generates a dynamic plugin entry point function for the given Plugin type.

Generates an impl of the RunCriteriaLabel trait.

Generates an impl of the StageLabel trait.

Generates an impl of the SystemLabel trait.