DynamicFunctionMut | A dynamic mutable script function. |
FunctionCallContext | The caller context when calling a script function. Functions can choose to react to caller prefere |
ReflectReference | An accessor to a `dyn PartialReflect` struct, stores a base ID of the type and a reflection path s |
String | A heap allocated string |
Cow | No Documentation 🚧 |
Arc | No Documentation 🚧 |
Vec<Val<Entity>> | No Documentation 🚧 |
Vec<Val<ScriptQueryResult>> | No Documentation 🚧 |
Vec<Val<FunctionInfo>> | No Documentation 🚧 |
Vec<ReflectReference> | No Documentation 🚧 |
Vec<FunctionArgInfo> | No Documentation 🚧 |
AssetIndex | A generational runtime-only identifier for a specific [`Asset`] stored in [`Assets`]. This is optim |
Handle<()> | A strong or weak handle to a specific [`Asset`]. If a [`Handle`] is [`Handle::Strong`], the [`Asset |
Handle<TypeId(0xa4e767ed3a91f062bc69d47c9703c78d)> | A strong or weak handle to a specific [`Asset`]. If a [`Handle`] is [`Handle::Strong`], the [`Asset |
Handle<TypeId(0x4c1e3c7862aba54dfc7aa5e3d6e9108b)> | A strong or weak handle to a specific [`Asset`]. If a [`Handle`] is [`Handle::Strong`], the [`Asset |
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`] |
AssetId<TypeId(0xa4e767ed3a91f062bc69d47c9703c78d)> | 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`] |
AssetId<TypeId(0x4c1e3c7862aba54dfc7aa5e3d6e9108b)> | 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`] |
AssetPath | Represents a path to an asset in a "virtual filesystem". Asset paths consist of three main parts: |
Name | Component used to identify an entity. Stores a hash for faster comparisons. The hash is eagerly r |
ComponentId | A value which uniquely identifies the type of a [`Component`] or [`Resource`] within a [`World`]. Each time a new `Component` type is registered within a `World` using e.g. [`World::register_component`] |
ComponentTicks | Records when a component or resource was added and when it was last mutably dereferenced (or added) |
Tick | A value that tracks when a system ran relative to other systems. This is used to power change dete |
Entity | Lightweight identifier of an [entity](crate::entity). The identifier is implemented using a [gene |
EntityHash | A [`BuildHasher`] that results in a [`EntityHasher`]. |
Identifier | A unified identifier for all entity and similar IDs. Has the same size as a `u64` integer, but th |
RemovedComponentEntity | Wrapper around [`Entity`] for [`RemovedComponents`]. Internally, `RemovedComponents` uses these as |
SystemIdMarker | Marker [`Component`](bevy_ecs::component::Component) for identifying [`SystemId`] [`Entity`]s. |
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. |
Children | Contains references to the child entities of this entity. Each child must contain a [`Parent`] component that points back to this entity. This component rarely needs to be created manually, consider using higher level utilities like [`BuildChildren::with_children`] |
Parent | Holds a reference to the parent entity of this entity. This component should only be present on en |
HierarchyEvent | An [`Event`] that is fired whenever there is a change in the world's hierarchy. [`Event`]: bevy_ecs::event::Event |
ButtonState | The current "press" state of an element |
Axis<GamepadInput> | Stores the position data of the input devices of type `T`. The values are stored as `f32`s, using |
ButtonInput<GamepadButton> | A "press-able" input of type `T`. ## Usage This type can be used as a resource to keep the curr |
AxisSettings | Settings for a [`GamepadAxis`]. It is used inside the [`GamepadSettings`] to define the sensitivi |
ButtonAxisSettings | Settings for a [`GamepadButton`]. It is used inside the [`GamepadSettings`] to define the sensiti |
ButtonSettings | Manages settings for gamepad buttons. It is used inside [`GamepadSettings`] to define the threshold for a [`GamepadButton`] |
Gamepad | Stores a connected gamepad's metadata such as the name and its [`GamepadButton`] and [`GamepadAxis` |
GamepadAxis | Represents gamepad input types that are mapped in the range [-1.0, 1.0] ## Usage This is used to determine which axis has changed its value when receiving a gamepad axis event. It is also used in the [`Gamepad`] |
GamepadAxisChangedEvent | [`GamepadAxis`] event triggered by an analog state change |
GamepadButton | Represents gamepad input types that are mapped in the range [0.0, 1.0]. ## Usage This is used to determine which button has changed its value when receiving gamepad button events It is also used in the [`Gamepad`] |
GamepadButtonChangedEvent | [`GamepadButton`] event triggered by an analog state change |
GamepadButtonStateChangedEvent | [`GamepadButton`] event triggered by a digital state change |
GamepadConnection | The connection status of a gamepad. |
GamepadConnectionEvent | A Gamepad connection event. Created when a connection to a gamepad is established and when a gamep |
GamepadEvent | A gamepad event. This event type is used over the [`GamepadConnectionEvent`], [`GamepadButtonChangedEvent` |
GamepadInput | Encapsulation over [`GamepadAxis`] and [`GamepadButton`] |
GamepadRumbleIntensity | The intensity at which a gamepad's force-feedback motors may rumble. |
GamepadRumbleRequest | An event that controls force-feedback rumbling of a [`Gamepad`] [`entity`](Entity). # Notes Doe |
GamepadSettings | Gamepad settings component. ## Usage It is used to create a `bevy` component that stores the se |
RawGamepadAxisChangedEvent | [`GamepadAxis`] changed event unfiltered by [`GamepadSettings`] |
RawGamepadButtonChangedEvent | [`GamepadButton`] changed event unfiltered by [`GamepadSettings`] |
RawGamepadEvent | A raw gamepad event. This event type is used over the [`GamepadConnectionEvent`], [`RawGamepadButtonChangedEvent` |
DoubleTapGesture | Double tap gesture. ## Platform-specific - Only available on **`macOS`** and **`iOS`**. - On * |
PanGesture | Pan gesture. ## Platform-specific - On **`iOS`**, must be enabled first |
PinchGesture | Two-finger pinch gesture, often used for magnifications. Positive delta values indicate magnifica |
RotationGesture | Two-finger rotation gesture. Positive delta values indicate rotation counterclockwise and negati |
Key | The logical key code of a [`KeyboardInput`]. ## Technical Its values map 1 to 1 to winit's Key. |
KeyCode | The key code of a [`KeyboardInput`]. ## Usage It is used as the generic `T` value of an [`ButtonInput` |
KeyboardFocusLost | Gets generated from `bevy_winit::winit_runner` Used for clearing all cached states to avoid havin |
KeyboardInput | A keyboard input event. This event is the translated version of the `WindowEvent::KeyboardInput` |
NativeKey | Contains the platform-native logical key identifier, known as keysym. Exactly what that means dif |
NativeKeyCode | Contains the platform-native physical key identifier The exact values vary from platform to platf |
AccumulatedMouseMotion | Tracks how much the mouse has moved every frame. This resource is reset to zero every frame. Th |
AccumulatedMouseScroll | Tracks how much the mouse has scrolled every frame. This resource is reset to zero every frame. |
MouseButton | A button on a mouse device. ## Usage It is used as the generic `T` value of an [`ButtonInput`] to create a `bevy` resource. ## Updating The resource is updated inside of the [`mouse_button_input_system`] |
MouseButtonInput | A mouse button input event. This event is the translated version of the `WindowEvent::MouseInput` |
MouseMotion | An event reporting the change in physical position of a pointing device. This represents raw, unf |
MouseScrollUnit | The scroll unit. Describes how a value of a [`MouseWheel`] event has to be interpreted. The value of the event can either be interpreted as the amount of lines or the amount of pixels to scroll. |
MouseWheel | A mouse wheel event. This event is the translated version of the `WindowEvent::MouseWheel` from t |
ForceTouch | A force description of a [`Touch`] input. |
TouchInput | A touch input event. ## Logic Every time the user touches the screen, a new [`TouchPhase::Started`] |
TouchPhase | A phase of a [`TouchInput`]. ## Usage It is used to describe the phase of the touch input that is currently active. This includes a phase that indicates that a touch input has started or ended, or that a finger has moved. There is also a canceled phase that indicates that the system canceled the tracking of the finger. |
Affine3 | Reduced-size version of `glam::Affine3A` for use when storage has significant performance impact. |
AspectRatio | An `AspectRatio` is the ratio of width to height. |
Aabb2d | A 2D axis-aligned bounding box, or bounding rectangle |
BoundingCircle | A bounding circle |
Aabb3d | A 3D axis-aligned bounding box |
BoundingSphere | A bounding sphere |
AabbCast2d | An intersection test that casts an [`Aabb2d`] along a ray. |
BoundingCircleCast | An intersection test that casts a [`BoundingCircle`] along a ray. |
RayCast2d | A raycast intersection test for 2D bounding volumes |
AabbCast3d | An intersection test that casts an [`Aabb3d`] along a ray. |
BoundingSphereCast | An intersection test that casts a [`BoundingSphere`] along a ray. |
RayCast3d | A raycast intersection test for 3D bounding volumes |
CompassOctant | A compass enum with 8 directions. ```text N (North) ▲ NW │ NE ╲ │ ╱ W (West) ┼─────► E (East) ╱ │ ╲ SW │ SE ▼ S (South) ` |
CompassQuadrant | A compass enum with 4 directions. ```text N (North) ▲ │ │ W (West) ┼─────► E (East) │ │ ▼ S (South) ` |
EaseFunction | Curve functions over the [unit interval], commonly used for easing transitions. [unit interval]: `Interval::UNIT` |
Interval | A nonempty closed interval, possibly unbounded in either direction. In other words, the interval |
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. This type stores a 16 byte aligned [`Vec3A`] |
FloatOrd | A wrapper for floats that implements [`Ord`], [`Eq`], and [`Hash`] traits. This is a work around for the fact that the IEEE 754-2008 standard, implemented by Rust's [`f32`] |
Isometry2d | An isometry in two dimensions, representing a rotation followed by a translation. This can often b |
Isometry3d | An isometry in three dimensions, representing a rotation followed by a translation. This can often |
Annulus | A primitive shape formed by the region between two circles, also known as a ring. |
Arc2d | A primitive representing an arc between two points on a circle. An arc has no area. If you want |
Capsule2d | A 2D capsule primitive, also known as a stadium or pill shape. A two-dimensional capsule is defin |
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. The segment is positioned so |
CircularSegment | A primitive representing a circular segment: the area enclosed by the arc of a circle and its chor |
Ellipse | An ellipse primitive, which is like a circle, but the width and height can be different |
Line2d | An infinite line going through the origin along a direction in 2D space. For a finite line: [`Segment2d`] |
Plane2d | An unbounded plane in 2D space. It forms a separating surface through the origin, stretching infin |
Rectangle | A rectangle primitive, which is like a square, except that the width and height can be different |
RegularPolygon | A polygon centered on the origin where all vertices lie on a circle, equally far apart. |
Rhombus | A rhombus primitive, also known as a diamond shape. A four sided polygon, centered on the origin, |
Segment2d | A segment of a line going through the origin along a direction in 2D space. |
Triangle2d | A triangle in 2D space |
Capsule3d | A 3D capsule primitive centered on the origin A three-dimensional capsule is defined as a surface |
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. |
Cuboid | A cuboid primitive, which is like a cube, except that the x, y, and z dimensions are not required |
Cylinder | A cylinder primitive centered on the origin |
InfinitePlane3d | An unbounded plane in 3D space. It forms a separating surface through the origin, stretching infin |
Line3d | An infinite line going through the origin along a direction in 3D space. For a finite line: [`Segment3d`] |
Plane3d | A bounded plane in 3D space. It forms a surface starting from the origin with a defined height and |
Segment3d | A segment of a line going through the origin along a direction in 3D space. |
Sphere | A sphere primitive, representing the set of all points some distance from the origin |
Tetrahedron | A tetrahedron primitive. |
Torus | A torus primitive, often representing a ring or donut shape The set of points some distance from a |
Triangle3d | A 3D triangle primitive. |
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. |
IRect | A rectangle defined by two opposite corners. The rectangle is axis aligned, and defined by its mi |
Rect | A rectangle defined by two opposite corners. The rectangle is axis aligned, and defined by its mi |
URect | A rectangle defined by two opposite corners. The rectangle is axis aligned, and defined by its mi |
Rot2 | A counterclockwise 2D rotation. # Example ``` # use approx::assert_relative_eq; # use bevy_math::{Rot2, Vec2}; use std::f32::consts::PI; // Create rotations from radians or degrees let rotation1 = Rot2::radians(PI / 2.0); let rotation2 = Rot2::degrees(45.0); // Get the angle back as radians or degrees assert_eq!(rotation1.as_degrees(), 90.0); assert_eq!(rotation2.as_radians(), PI / 4.0); // "Add" rotations together using `*` assert_relative_eq!(rotation1 * rotation2, Rot2::degrees(135.0)); // Rotate vectors assert_ |
Val<Entity> | A wrapper around a value of type `T`. This can be used to retrieve a value out of a [`ScriptValue::Reference`] |
Val<ScriptQueryBuilder> | A wrapper around a value of type `T`. This can be used to retrieve a value out of a [`ScriptValue::Reference`] |
Val<ScriptQueryResult> | A wrapper around a value of type `T`. This can be used to retrieve a value out of a [`ScriptValue::Reference`] |
Val<FunctionInfo> | A wrapper around a value of type `T`. This can be used to retrieve a value out of a [`ScriptValue::Reference`] |
Namespace | A namespace for functions |
ScriptComponentRegistration | A registration for a component type. |
ScriptQueryBuilder | A builder for a query. |
ScriptQueryResult | A result from a query. |
ScriptResourceRegistration | A registration for a resource type. |
ScriptTypeRegistration | A wrapper around a `TypeRegistration` that provides additional information about the type. This i |
ScriptValue | An abstraction of values that can be passed to and from scripts. This allows us to re-use logic be |
FunctionArgInfo | Information about a function argument. |
FunctionInfo | Information about a function. |
FunctionReturnInfo | Information about a function return value. |
Fixed | The fixed timestep game clock following virtual time. A specialization of the [`Time`] structure. **For method documentation, see [`Time#impl-Time`] |
Real | Real time clock representing elapsed wall clock time. A specialization of the [`Time`] structure. **For method documentation, see [`Time#impl-Time`] |
Stopwatch | A Stopwatch is a struct that tracks elapsed time when started. Note that in order to advance the |
Time<()> | A generic clock resource that tracks how much it has advanced since its previous update and since |
Time<Fixed> | A generic clock resource that tracks how much it has advanced since its previous update and since |
Time<Real> | A generic clock resource that tracks how much it has advanced since its previous update and since |
Time<Virtual> | A generic clock resource that tracks how much it has advanced since its previous update and since |
Timer | Tracks elapsed time. Enters the finished state once `duration` is reached. Non repeating timers w |
TimerMode | Specifies [`Timer`] behavior. |
Virtual | The virtual game clock representing game time. A specialization of the [`Time`] structure. **For method documentation, see [`Time#impl-Time`].** |
GlobalTransform | [`GlobalTransform`] is an affine transformation from entity-local coordinates to worldspace coordinates. You cannot directly mutate [`GlobalTransform`] |
Transform | Describe the position of an entity. If the entity has a parent, the position is relative to its pa |
Duration | No Documentation 🚧 |
Instant | No Documentation 🚧 |
HashMap<GamepadAxisAxisSettings, > | No Documentation 🚧 |
HashMap<GamepadButtonButtonAxisSettings, > | No Documentation 🚧 |
HashMap<GamepadButtonButtonSettings, > | No Documentation 🚧 |
HashMap<GamepadInputf32, > | No Documentation 🚧 |
HashSet<GamepadButton> | No Documentation 🚧 |
bool | A boolean value |
char | An 8-bit character |
TypeId | No Documentation 🚧 |
RangeFull | No Documentation 🚧 |
Option<[u8; 6]> | No Documentation 🚧 |
Option<Cow> | No Documentation 🚧 |
Option<String> | No Documentation 🚧 |
Option<ForceTouch> | No Documentation 🚧 |
Option<Val<Entity>> | No Documentation 🚧 |
Option<ReflectReference> | No Documentation 🚧 |
Option<Instant> | No Documentation 🚧 |
Option<char> | No Documentation 🚧 |
Option<f32> | No Documentation 🚧 |
Option<f64> | No Documentation 🚧 |
Option<u16> | No Documentation 🚧 |
Option<usize> | No Documentation 🚧 |
AtomicBool | No Documentation 🚧 |
AtomicI16 | No Documentation 🚧 |
AtomicI32 | No Documentation 🚧 |
AtomicI64 | No Documentation 🚧 |
AtomicI8 | No Documentation 🚧 |
AtomicIsize | No Documentation 🚧 |
AtomicU16 | No Documentation 🚧 |
AtomicU32 | No Documentation 🚧 |
AtomicU64 | No Documentation 🚧 |
AtomicU8 | No Documentation 🚧 |
AtomicUsize | No Documentation 🚧 |
f32 | A 32-bit floating point number |
f64 | A 64-bit floating point number |
Affine2 | No Documentation 🚧 |
Affine3A | No Documentation 🚧 |
BVec2 | No Documentation 🚧 |
BVec3 | No Documentation 🚧 |
BVec3A | No Documentation 🚧 |
BVec4 | No Documentation 🚧 |
BVec4A | No Documentation 🚧 |
DAffine2 | No Documentation 🚧 |
DAffine3 | No Documentation 🚧 |
DMat2 | No Documentation 🚧 |
DMat3 | No Documentation 🚧 |
DMat4 | No Documentation 🚧 |
DQuat | No Documentation 🚧 |
DVec2 | No Documentation 🚧 |
DVec3 | No Documentation 🚧 |
DVec4 | No Documentation 🚧 |
EulerRot | No Documentation 🚧 |
I64Vec2 | No Documentation 🚧 |
I64Vec3 | No Documentation 🚧 |
I64Vec4 | No Documentation 🚧 |
IVec2 | No Documentation 🚧 |
IVec3 | No Documentation 🚧 |
IVec4 | No Documentation 🚧 |
Mat2 | No Documentation 🚧 |
Mat3 | No Documentation 🚧 |
Mat3A | No Documentation 🚧 |
Mat4 | No Documentation 🚧 |
Quat | No Documentation 🚧 |
U64Vec2 | No Documentation 🚧 |
U64Vec3 | No Documentation 🚧 |
U64Vec4 | No Documentation 🚧 |
UVec2 | No Documentation 🚧 |
UVec3 | No Documentation 🚧 |
UVec4 | No Documentation 🚧 |
Vec2 | No Documentation 🚧 |
Vec3 | No Documentation 🚧 |
Vec3A | No Documentation 🚧 |
Vec4 | No Documentation 🚧 |
i128 | A signed 128-bit integer |
i16 | A signed 16-bit integer |
i32 | A signed 32-bit integer |
i64 | A signed 64-bit integer |
i8 | A signed 8-bit integer |
isize | A signed pointer-sized integer |
SmallVec<TypeId(0xa32f79c7827d6d59a66b75c208b19242)> | No Documentation 🚧 |
SmolStr | No Documentation 🚧 |
HashMap<StringScriptValue, > | No Documentation 🚧 |
u128 | An unsigned 128-bit integer |
u16 | An unsigned 16-bit integer |
u32 | An unsigned 32-bit integer |
u64 | An unsigned 64-bit integer |
u8 | An unsigned 8-bit integer |
usize | An unsigned pointer-sized integer |
Uuid | No Documentation 🚧 |