Types

Types

TypeSummary
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
StringA heap allocated string
CowNo Documentation 🚧
ArcNo 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
DurationNo Documentation 🚧
InstantNo Documentation 🚧
HashMap<GamepadAxisAxisSettings, >No Documentation 🚧
HashMap<GamepadButtonButtonAxisSettings, >No Documentation 🚧
HashMap<GamepadButtonButtonSettings, >No Documentation 🚧
HashMap<GamepadInputf32, >No Documentation 🚧
HashSet<GamepadButton>No Documentation 🚧
boolA boolean value
charAn 8-bit character
TypeIdNo Documentation 🚧
RangeFullNo 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 🚧
AtomicBoolNo Documentation 🚧
AtomicI16No Documentation 🚧
AtomicI32No Documentation 🚧
AtomicI64No Documentation 🚧
AtomicI8No Documentation 🚧
AtomicIsizeNo Documentation 🚧
AtomicU16No Documentation 🚧
AtomicU32No Documentation 🚧
AtomicU64No Documentation 🚧
AtomicU8No Documentation 🚧
AtomicUsizeNo Documentation 🚧
f32A 32-bit floating point number
f64A 64-bit floating point number
Affine2No Documentation 🚧
Affine3ANo Documentation 🚧
BVec2No Documentation 🚧
BVec3No Documentation 🚧
BVec3ANo Documentation 🚧
BVec4No Documentation 🚧
BVec4ANo Documentation 🚧
DAffine2No Documentation 🚧
DAffine3No Documentation 🚧
DMat2No Documentation 🚧
DMat3No Documentation 🚧
DMat4No Documentation 🚧
DQuatNo Documentation 🚧
DVec2No Documentation 🚧
DVec3No Documentation 🚧
DVec4No Documentation 🚧
EulerRotNo Documentation 🚧
I64Vec2No Documentation 🚧
I64Vec3No Documentation 🚧
I64Vec4No Documentation 🚧
IVec2No Documentation 🚧
IVec3No Documentation 🚧
IVec4No Documentation 🚧
Mat2No Documentation 🚧
Mat3No Documentation 🚧
Mat3ANo Documentation 🚧
Mat4No Documentation 🚧
QuatNo Documentation 🚧
U64Vec2No Documentation 🚧
U64Vec3No Documentation 🚧
U64Vec4No Documentation 🚧
UVec2No Documentation 🚧
UVec3No Documentation 🚧
UVec4No Documentation 🚧
Vec2No Documentation 🚧
Vec3No Documentation 🚧
Vec3ANo Documentation 🚧
Vec4No Documentation 🚧
i128A signed 128-bit integer
i16A signed 16-bit integer
i32A signed 32-bit integer
i64A signed 64-bit integer
i8A signed 8-bit integer
isizeA signed pointer-sized integer
SmallVec<TypeId(0xa32f79c7827d6d59a66b75c208b19242)>No Documentation 🚧
SmolStrNo Documentation 🚧
HashMap<StringScriptValue, >No Documentation 🚧
u128An unsigned 128-bit integer
u16An unsigned 16-bit integer
u32An unsigned 32-bit integer
u64An unsigned 64-bit integer
u8An unsigned 8-bit integer
usizeAn unsigned pointer-sized integer
UuidNo Documentation 🚧