pub trait Component:
Send
+ Sync
+ 'static {
const STORAGE_TYPE: StorageType;
// Provided methods
fn register_component_hooks(_hooks: &mut ComponentHooks) { ... }
fn register_required_components(
_component_id: ComponentId,
_components: &mut Components,
_storages: &mut Storages,
_required_components: &mut RequiredComponents,
_inheritance_depth: u16,
) { ... }
}
Expand description
A data type that can be used to store data for an entity.
Component
is a derivable trait: this means that a data type can implement it by applying a #[derive(Component)]
attribute to it.
However, components must always satisfy the Send + Sync + 'static
trait bounds.
§Examples
Components can take many forms: they are usually structs, but can also be of every other kind of data type, like enums or zero sized types. The following examples show how components are laid out in code.
// A component can contain data...
#[derive(Component)]
struct LicensePlate(String);
// ... but it can also be a zero-sized marker.
#[derive(Component)]
struct Car;
// Components can also be structs with named fields...
#[derive(Component)]
struct VehiclePerformance {
acceleration: f32,
top_speed: f32,
handling: f32,
}
// ... or enums.
#[derive(Component)]
enum WheelCount {
Two,
Three,
Four,
}
§Component and data access
See the entity
module level documentation to learn how to add or remove components from an entity.
See the documentation for Query
to learn how to access component data from a system.
§Choosing a storage type
Components can be stored in the world using different strategies with their own performance implications.
By default, components are added to the Table
storage, which is optimized for query iteration.
Alternatively, components can be added to the SparseSet
storage, which is optimized for component insertion and removal.
This is achieved by adding an additional #[component(storage = "SparseSet")]
attribute to the derive one:
#[derive(Component)]
#[component(storage = "SparseSet")]
struct ComponentA;
§Required Components
Components can specify Required Components. If some Component
A
requires Component
B
, then when A
is inserted,
B
will also be initialized and inserted (if it was not manually specified).
The Default
constructor will be used to initialize the component, by default:
#[derive(Component)]
#[require(B)]
struct A;
#[derive(Component, Default, PartialEq, Eq, Debug)]
struct B(usize);
// This will implicitly also insert B with the Default constructor
let id = world.spawn(A).id();
assert_eq!(&B(0), world.entity(id).get::<B>().unwrap());
// This will _not_ implicitly insert B, because it was already provided
world.spawn((A, B(11)));
Components can have more than one required component:
#[derive(Component)]
#[require(B, C)]
struct A;
#[derive(Component, Default, PartialEq, Eq, Debug)]
#[require(C)]
struct B(usize);
#[derive(Component, Default, PartialEq, Eq, Debug)]
struct C(u32);
// This will implicitly also insert B and C with their Default constructors
let id = world.spawn(A).id();
assert_eq!(&B(0), world.entity(id).get::<B>().unwrap());
assert_eq!(&C(0), world.entity(id).get::<C>().unwrap());
You can also define a custom constructor function or closure:
#[derive(Component)]
#[require(C(init_c))]
struct A;
#[derive(Component, PartialEq, Eq, Debug)]
#[require(C(|| C(20)))]
struct B;
#[derive(Component, PartialEq, Eq, Debug)]
struct C(usize);
fn init_c() -> C {
C(10)
}
// This will implicitly also insert C with the init_c() constructor
let id = world.spawn(A).id();
assert_eq!(&C(10), world.entity(id).get::<C>().unwrap());
// This will implicitly also insert C with the `|| C(20)` constructor closure
let id = world.spawn(B).id();
assert_eq!(&C(20), world.entity(id).get::<C>().unwrap());
Required components are recursive. This means, if a Required Component has required components, those components will also be inserted if they are missing:
#[derive(Component)]
#[require(B)]
struct A;
#[derive(Component, Default, PartialEq, Eq, Debug)]
#[require(C)]
struct B(usize);
#[derive(Component, Default, PartialEq, Eq, Debug)]
struct C(u32);
// This will implicitly also insert B and C with their Default constructors
let id = world.spawn(A).id();
assert_eq!(&B(0), world.entity(id).get::<B>().unwrap());
assert_eq!(&C(0), world.entity(id).get::<C>().unwrap());
Note that cycles in the “component require tree” will result in stack overflows when attempting to insert a component.
This “multiple inheritance” pattern does mean that it is possible to have duplicate requires for a given type at different levels of the inheritance tree:
#[derive(Component)]
struct X(usize);
#[derive(Component, Default)]
#[require(X(|| X(1)))]
struct Y;
#[derive(Component)]
#[require(
Y,
X(|| X(2)),
)]
struct Z;
// In this case, the x2 constructor is used for X
let id = world.spawn(Z).id();
assert_eq!(2, world.entity(id).get::<X>().unwrap().0);
In general, this shouldn’t happen often, but when it does the algorithm for choosing the constructor from the tree is simple and predictable:
- A constructor from a direct
#[require()]
, if one exists, is selected with priority. - Otherwise, perform a Depth First Search on the tree of requirements and select the first one found.
From a user perspective, just think about this as the following:
- Specifying a required component constructor for Foo directly on a spawned component Bar will result in that constructor being used (and overriding existing constructors lower in the inheritance tree). This is the classic “inheritance override” behavior people expect.
- For cases where “multiple inheritance” results in constructor clashes, Components should be listed in “importance order”. List a component earlier in the requirement list to initialize its inheritance tree earlier.
§Registering required components at runtime
In most cases, required components should be registered using the require
attribute as shown above.
However, in some cases, it may be useful to register required components at runtime.
This can be done through World::register_required_components
or World::register_required_components_with
for the Default
and custom constructors respectively:
#[derive(Component)]
struct A;
#[derive(Component, Default, PartialEq, Eq, Debug)]
struct B(usize);
#[derive(Component, PartialEq, Eq, Debug)]
struct C(u32);
// Register B as required by A and C as required by B.
world.register_required_components::<A, B>();
world.register_required_components_with::<B, C>(|| C(2));
// This will implicitly also insert B with its Default constructor
// and C with the custom constructor defined by B.
let id = world.spawn(A).id();
assert_eq!(&B(0), world.entity(id).get::<B>().unwrap());
assert_eq!(&C(2), world.entity(id).get::<C>().unwrap());
Similar rules as before apply to duplicate requires fer a given type at different levels
of the inheritance tree. A
requiring C
directly would take precedence over indirectly
requiring it through A
requiring B
and B
requiring C
.
Unlike with the require
attribute, directly requiring the same component multiple times
for the same component will result in a panic. This is done to prevent conflicting constructors
and confusing ordering dependencies.
Note that requirements must currently be registered before the requiring component is inserted into the world for the first time. Registering requirements after this will lead to a panic.
§Adding component’s hooks
See ComponentHooks
for a detailed explanation of component’s hooks.
Alternatively to the example shown in ComponentHooks
’ documentation, hooks can be configured using following attributes:
#[component(on_add = on_add_function)]
#[component(on_insert = on_insert_function)]
#[component(on_replace = on_replace_function)]
#[component(on_remove = on_remove_function)]
#[derive(Component)]
#[component(on_add = my_on_add_hook)]
#[component(on_insert = my_on_insert_hook)]
// Another possible way of configuring hooks:
// #[component(on_add = my_on_add_hook, on_insert = my_on_insert_hook)]
//
// We don't have a replace or remove hook, so we can leave them out:
// #[component(on_replace = my_on_replace_hook, on_remove = my_on_remove_hook)]
struct ComponentA;
fn my_on_add_hook(world: DeferredWorld, entity: Entity, id: ComponentId) {
// ...
}
// You can also omit writing some types using generics.
fn my_on_insert_hook<T1, T2>(world: DeferredWorld, _: T1, _: T2) {
// ...
}
§Implementing the trait for foreign types
As a consequence of the orphan rule, it is not possible to separate into two different crates the implementation of Component
from the definition of a type.
This means that it is not possible to directly have a type defined in a third party library as a component.
This important limitation can be easily worked around using the newtype pattern:
this makes it possible to locally define and implement Component
for a tuple struct that wraps the foreign type.
The following example gives a demonstration of this pattern.
// `Component` is defined in the `bevy_ecs` crate.
use bevy_ecs::component::Component;
// `Duration` is defined in the `std` crate.
use std::time::Duration;
// It is not possible to implement `Component` for `Duration` from this position, as they are
// both foreign items, defined in an external crate. However, nothing prevents to define a new
// `Cooldown` type that wraps `Duration`. As `Cooldown` is defined in a local crate, it is
// possible to implement `Component` for it.
#[derive(Component)]
struct Cooldown(Duration);
§!Sync
Components
A !Sync
type cannot implement Component
. However, it is possible to wrap a Send
but not Sync
type in SyncCell
or the currently unstable Exclusive
to make it Sync
. This forces only
having mutable access (&mut T
only, never &T
), but makes it safe to reference across multiple
threads.
This will fail to compile since RefCell
is !Sync
.
#[derive(Component)]
struct NotSync {
counter: RefCell<usize>,
}
This will compile since the RefCell
is wrapped with SyncCell
.
use bevy_utils::synccell::SyncCell;
// This will compile.
#[derive(Component)]
struct ActuallySync {
counter: SyncCell<RefCell<usize>>,
}
Required Associated Constants§
Sourceconst STORAGE_TYPE: StorageType
const STORAGE_TYPE: StorageType
A constant indicating the storage type used for this component.
Provided Methods§
Sourcefn register_component_hooks(_hooks: &mut ComponentHooks)
fn register_component_hooks(_hooks: &mut ComponentHooks)
Called when registering this component, allowing mutable access to its ComponentHooks
.
Sourcefn register_required_components(
_component_id: ComponentId,
_components: &mut Components,
_storages: &mut Storages,
_required_components: &mut RequiredComponents,
_inheritance_depth: u16,
)
fn register_required_components( _component_id: ComponentId, _components: &mut Components, _storages: &mut Storages, _required_components: &mut RequiredComponents, _inheritance_depth: u16, )
Registers required components.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementors§
Source§impl Component for DependencyLoadState
impl Component for DependencyLoadState
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for LoadState
impl Component for LoadState
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for RecursiveDependencyLoadState
impl Component for RecursiveDependencyLoadState
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for DepthOfFieldPipelines
impl Component for DepthOfFieldPipelines
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for DebandDither
impl Component for DebandDither
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Tonemapping
impl Component for Tonemapping
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for HierarchyEvent
impl Component for HierarchyEvent
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for GamepadEvent
impl Component for GamepadEvent
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for GamepadRumbleRequest
impl Component for GamepadRumbleRequest
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for RawGamepadEvent
impl Component for RawGamepadEvent
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for ClusterConfig
impl Component for ClusterConfig
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for LightEntity
impl Component for LightEntity
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ShadowFilteringMethod
impl Component for ShadowFilteringMethod
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for PickingInteraction
impl Component for PickingInteraction
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for PointerId
Required Components: PointerLocation
, PointerPress
, PointerInteraction
.
impl Component for PointerId
Required Components: PointerLocation
, PointerPress
, PointerInteraction
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for AppExit
impl Component for AppExit
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for FileDragAndDrop
impl Component for FileDragAndDrop
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for Ime
impl Component for Ime
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for Interaction
impl Component for Interaction
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Msaa
impl Component for Msaa
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Projection
impl Component for Projection
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for UiAntiAlias
impl Component for UiAntiAlias
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Visibility
Required Components: InheritedVisibility
, ViewVisibility
.
impl Component for Visibility
Required Components: InheritedVisibility
, ViewVisibility
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Readback
impl Component for Readback
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Anchor
impl Component for Anchor
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for FocusPolicy
impl Component for FocusPolicy
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for AppLifecycle
impl Component for AppLifecycle
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for WindowEvent
impl Component for WindowEvent
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for CursorIcon
impl Component for CursorIcon
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for AccessibilityNode
impl Component for AccessibilityNode
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ActionRequest
impl Component for ActionRequest
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for AnimationTarget
impl Component for AnimationTarget
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for UntypedAssetLoadFailedEvent
impl Component for UntypedAssetLoadFailedEvent
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for AutoExposure
impl Component for AutoExposure
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Bloom
impl Component for Bloom
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ContrastAdaptiveSharpening
impl Component for ContrastAdaptiveSharpening
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for DenoiseCas
impl Component for DenoiseCas
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ViewCasPipeline
impl Component for ViewCasPipeline
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ViewTransmissionTexture
impl Component for ViewTransmissionTexture
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for DeferredLightingIdDepthTexture
impl Component for DeferredLightingIdDepthTexture
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for AuxiliaryDepthOfFieldTexture
impl Component for AuxiliaryDepthOfFieldTexture
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for DepthOfField
impl Component for DepthOfField
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for DepthOfFieldUniform
impl Component for DepthOfFieldUniform
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ViewDepthOfFieldBindGroupLayouts
impl Component for ViewDepthOfFieldBindGroupLayouts
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for TemporalAntiAliasing
Required Components: TemporalJitter
, DepthPrepass
, MotionVectorPrepass
.
impl Component for TemporalAntiAliasing
Required Components: TemporalJitter
, DepthPrepass
, MotionVectorPrepass
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for CameraFxaaPipeline
impl Component for CameraFxaaPipeline
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Fxaa
impl Component for Fxaa
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for MotionBlurPipelineId
impl Component for MotionBlurPipelineId
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for MotionBlur
Required Components: DepthPrepass
, MotionVectorPrepass
.
impl Component for MotionBlur
Required Components: DepthPrepass
, MotionVectorPrepass
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for MsaaWritebackBlitPipeline
impl Component for MsaaWritebackBlitPipeline
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for OitResolvePipelineId
impl Component for OitResolvePipelineId
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for OrderIndependentTransparencySettings
impl Component for OrderIndependentTransparencySettings
const STORAGE_TYPE: StorageType = StorageType::SparseSet
Source§impl Component for OrderIndependentTransparencySettingsOffset
impl Component for OrderIndependentTransparencySettingsOffset
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ChromaticAberration
impl Component for ChromaticAberration
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for PostProcessingPipelineId
impl Component for PostProcessingPipelineId
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for PostProcessingUniformBufferOffsets
impl Component for PostProcessingUniformBufferOffsets
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for DeferredPrepass
impl Component for DeferredPrepass
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for DepthPrepass
impl Component for DepthPrepass
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for MotionVectorPrepass
impl Component for MotionVectorPrepass
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for NormalPrepass
impl Component for NormalPrepass
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for PreviousViewData
impl Component for PreviousViewData
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for PreviousViewUniformOffset
impl Component for PreviousViewUniformOffset
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ViewPrepassTextures
impl Component for ViewPrepassTextures
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Smaa
impl Component for Smaa
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for SmaaBindGroups
impl Component for SmaaBindGroups
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for SmaaInfoUniformOffset
impl Component for SmaaInfoUniformOffset
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for SmaaTextures
impl Component for SmaaTextures
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ViewSmaaPipelines
impl Component for ViewSmaaPipelines
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Skybox
impl Component for Skybox
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ViewTonemappingPipeline
impl Component for ViewTonemappingPipeline
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ViewUpscalingPipeline
impl Component for ViewUpscalingPipeline
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for CiTestingCustomEvent
impl Component for CiTestingCustomEvent
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for GltfMaterialExtras
impl Component for GltfMaterialExtras
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for GltfMaterialName
impl Component for GltfMaterialName
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for GltfMeshExtras
impl Component for GltfMeshExtras
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for GltfSceneExtras
impl Component for GltfSceneExtras
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for GamepadAxisChangedEvent
impl Component for GamepadAxisChangedEvent
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for GamepadButtonChangedEvent
impl Component for GamepadButtonChangedEvent
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for GamepadButtonStateChangedEvent
impl Component for GamepadButtonStateChangedEvent
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for GamepadConnectionEvent
impl Component for GamepadConnectionEvent
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for RawGamepadAxisChangedEvent
impl Component for RawGamepadAxisChangedEvent
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for RawGamepadButtonChangedEvent
impl Component for RawGamepadButtonChangedEvent
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for DoubleTapGesture
impl Component for DoubleTapGesture
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for PanGesture
impl Component for PanGesture
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for PinchGesture
impl Component for PinchGesture
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for RotationGesture
impl Component for RotationGesture
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for KeyboardFocusLost
impl Component for KeyboardFocusLost
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for KeyboardInput
impl Component for KeyboardInput
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for MouseButtonInput
impl Component for MouseButtonInput
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for MouseMotion
impl Component for MouseMotion
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for MouseWheel
impl Component for MouseWheel
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for DeferredLightingPipeline
impl Component for DeferredLightingPipeline
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for PbrDeferredLightingDepthId
impl Component for PbrDeferredLightingDepthId
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for MeshletMesh3d
Required Components: Transform
, PreviousGlobalTransform
, Visibility
.
impl Component for MeshletMesh3d
Required Components: Transform
, PreviousGlobalTransform
, Visibility
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for IrradianceVolume
impl Component for IrradianceVolume
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for CascadeShadowConfig
impl Component for CascadeShadowConfig
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Cascades
impl Component for Cascades
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for CascadesVisibleEntities
impl Component for CascadesVisibleEntities
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Clusters
impl Component for Clusters
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for CubemapVisibleEntities
impl Component for CubemapVisibleEntities
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for EnvironmentMapUniform
impl Component for EnvironmentMapUniform
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ExtractedClusterConfig
impl Component for ExtractedClusterConfig
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ExtractedClusterableObjects
impl Component for ExtractedClusterableObjects
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ExtractedDirectionalLight
impl Component for ExtractedDirectionalLight
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ExtractedPointLight
impl Component for ExtractedPointLight
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for FogVolume
Required Components: Transform
, Visibility
.
impl Component for FogVolume
Required Components: Transform
, Visibility
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for LightViewEntities
impl Component for LightViewEntities
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Lightmap
impl Component for Lightmap
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for MaterialBindGroupId
impl Component for MaterialBindGroupId
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for MeshTransforms
impl Component for MeshTransforms
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for MeshViewBindGroup
impl Component for MeshViewBindGroup
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for NotShadowCaster
impl Component for NotShadowCaster
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for NotShadowReceiver
impl Component for NotShadowReceiver
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for PreprocessBindGroup
impl Component for PreprocessBindGroup
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for PreviousGlobalTransform
impl Component for PreviousGlobalTransform
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for RenderCascadesVisibleEntities
impl Component for RenderCascadesVisibleEntities
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for RenderCubemapVisibleEntities
impl Component for RenderCubemapVisibleEntities
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for RenderVisibleMeshEntities
impl Component for RenderVisibleMeshEntities
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ScreenSpaceAmbientOcclusion
Required Components: DepthPrepass
, NormalPrepass
.
impl Component for ScreenSpaceAmbientOcclusion
Required Components: DepthPrepass
, NormalPrepass
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ScreenSpaceAmbientOcclusionResources
impl Component for ScreenSpaceAmbientOcclusionResources
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ScreenSpaceReflections
Required Components: DepthPrepass
, DeferredPrepass
.
impl Component for ScreenSpaceReflections
Required Components: DepthPrepass
, DeferredPrepass
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ScreenSpaceReflectionsPipelineId
impl Component for ScreenSpaceReflectionsPipelineId
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ScreenSpaceReflectionsUniform
impl Component for ScreenSpaceReflectionsUniform
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ShadowView
impl Component for ShadowView
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for SkipGpuPreprocess
impl Component for SkipGpuPreprocess
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for TransmittedShadowReceiver
impl Component for TransmittedShadowReceiver
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ViewClusterBindings
impl Component for ViewClusterBindings
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ViewEnvironmentMapUniformOffset
impl Component for ViewEnvironmentMapUniformOffset
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ViewFogUniformOffset
impl Component for ViewFogUniformOffset
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ViewLightEntities
impl Component for ViewLightEntities
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ViewLightProbesUniformOffset
impl Component for ViewLightProbesUniformOffset
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ViewLightsUniformOffset
impl Component for ViewLightsUniformOffset
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ViewScreenSpaceReflectionsUniformOffset
impl Component for ViewScreenSpaceReflectionsUniformOffset
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ViewShadowBindings
impl Component for ViewShadowBindings
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for VisibleClusterableObjects
impl Component for VisibleClusterableObjects
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for VisibleMeshEntities
impl Component for VisibleMeshEntities
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for VolumetricFog
impl Component for VolumetricFog
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for VolumetricLight
impl Component for VolumetricLight
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for NoWireframe
impl Component for NoWireframe
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Wireframe
impl Component for Wireframe
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for WireframeColor
impl Component for WireframeColor
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for PointerHits
impl Component for PointerHits
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for SimplifiedMesh
impl Component for SimplifiedMesh
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Location
impl Component for Location
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for PointerInput
impl Component for PointerInput
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for PointerInteraction
impl Component for PointerInteraction
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for PointerLocation
impl Component for PointerLocation
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for PointerPress
impl Component for PointerPress
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for AnimationGraphHandle
impl Component for AnimationGraphHandle
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for AnimationPlayer
impl Component for AnimationPlayer
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for AnimationTransitions
impl Component for AnimationTransitions
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for AudioSink
impl Component for AudioSink
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for BackgroundColor
impl Component for BackgroundColor
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for BorderColor
impl Component for BorderColor
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for BorderRadius
impl Component for BorderRadius
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for BoxShadow
impl Component for BoxShadow
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Button
Required Components: Node
, FocusPolicy
, Interaction
.
impl Component for Button
Required Components: Node
, FocusPolicy
, Interaction
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for CalculatedClip
impl Component for CalculatedClip
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Camera2d
Required Components: Camera
, DebandDither
, CameraRenderGraph
, OrthographicProjection
, Frustum
, Tonemapping
.
impl Component for Camera2d
Required Components: Camera
, DebandDither
, CameraRenderGraph
, OrthographicProjection
, Frustum
, Tonemapping
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Camera3d
Required Components: Camera
, DebandDither
, CameraRenderGraph
, Projection
, Tonemapping
, ColorGrading
, Exposure
.
impl Component for Camera3d
Required Components: Camera
, DebandDither
, CameraRenderGraph
, Projection
, Tonemapping
, ColorGrading
, Exposure
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Camera
Required Components: Frustum
, CameraMainTextureUsages
, VisibleEntities
, Transform
, Visibility
, Msaa
, SyncToRenderWorld
.
impl Component for Camera
Required Components: Frustum
, CameraMainTextureUsages
, VisibleEntities
, Transform
, Visibility
, Msaa
, SyncToRenderWorld
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Children
impl Component for Children
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ComputedNode
impl Component for ComputedNode
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for CursorEntered
impl Component for CursorEntered
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for CursorLeft
impl Component for CursorLeft
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for CursorMoved
impl Component for CursorMoved
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for DirectionalLight
Required Components: Cascades
, CascadesFrusta
, CascadeShadowConfig
, CascadesVisibleEntities
, Transform
, Visibility
.
impl Component for DirectionalLight
Required Components: Cascades
, CascadesFrusta
, CascadeShadowConfig
, CascadesVisibleEntities
, Transform
, Visibility
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for DistanceFog
impl Component for DistanceFog
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for DynamicSceneRoot
Required Components: Transform
, Visibility
.
impl Component for DynamicSceneRoot
Required Components: Transform
, Visibility
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for EnvironmentMapLight
impl Component for EnvironmentMapLight
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Gamepad
Required Components: GamepadSettings
.
impl Component for Gamepad
Required Components: GamepadSettings
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for GamepadSettings
impl Component for GamepadSettings
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for GlobalTransform
impl Component for GlobalTransform
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for GlobalZIndex
impl Component for GlobalZIndex
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for GltfExtras
impl Component for GltfExtras
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ImageNode
Required Components: Node
, ImageNodeSize
, ContentSize
.
impl Component for ImageNode
Required Components: Node
, ImageNodeSize
, ContentSize
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for InheritedVisibility
impl Component for InheritedVisibility
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for IsDefaultUiCamera
impl Component for IsDefaultUiCamera
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Label
impl Component for Label
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for LightProbe
Required Components: Transform
, Visibility
.
impl Component for LightProbe
Required Components: Transform
, Visibility
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Mesh2d
Required Components: Transform
, Visibility
.
impl Component for Mesh2d
Required Components: Transform
, Visibility
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Mesh3d
Required Components: Transform
, Visibility
.
impl Component for Mesh3d
Required Components: Transform
, Visibility
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for MorphWeights
impl Component for MorphWeights
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Name
impl Component for Name
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Node
Required Components: ComputedNode
, BackgroundColor
, BorderColor
, BorderRadius
, FocusPolicy
, ScrollPosition
, Transform
, Visibility
, ZIndex
.
impl Component for Node
Required Components: ComputedNode
, BackgroundColor
, BorderColor
, BorderRadius
, FocusPolicy
, ScrollPosition
, Transform
, Visibility
, ZIndex
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Observer
impl Component for Observer
const STORAGE_TYPE: StorageType = StorageType::SparseSet
Source§impl Component for OnAdd
impl Component for OnAdd
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for OnInsert
impl Component for OnInsert
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for OnRemove
impl Component for OnRemove
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for OnReplace
impl Component for OnReplace
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for OrthographicProjection
impl Component for OrthographicProjection
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Outline
impl Component for Outline
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Parent
impl Component for Parent
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for PerspectiveProjection
impl Component for PerspectiveProjection
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for PickingBehavior
impl Component for PickingBehavior
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for PlaybackSettings
impl Component for PlaybackSettings
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for PointLight
Required Components: CubemapFrusta
, CubemapVisibleEntities
, Transform
, Visibility
.
impl Component for PointLight
Required Components: CubemapFrusta
, CubemapVisibleEntities
, Transform
, Visibility
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for RayCastBackfaces
impl Component for RayCastBackfaces
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for RayCastPickable
impl Component for RayCastPickable
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for SceneRoot
Required Components: Transform
, Visibility
.
impl Component for SceneRoot
Required Components: Transform
, Visibility
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ScrollPosition
impl Component for ScrollPosition
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ShowAabbGizmo
impl Component for ShowAabbGizmo
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ShowLightGizmo
impl Component for ShowLightGizmo
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for SpatialAudioSink
impl Component for SpatialAudioSink
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for SpatialListener
impl Component for SpatialListener
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for SpotLight
Required Components: Frustum
, VisibleMeshEntities
, Transform
, Visibility
.
impl Component for SpotLight
Required Components: Frustum
, VisibleMeshEntities
, Transform
, Visibility
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Sprite
Required Components: Transform
, Visibility
, SyncToRenderWorld
.
impl Component for Sprite
Required Components: Transform
, Visibility
, SyncToRenderWorld
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for TargetCamera
impl Component for TargetCamera
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Text2d
Required Components: TextLayout
, TextFont
, TextColor
, TextBounds
, Anchor
, SpriteSource
, Visibility
, Transform
.
impl Component for Text2d
Required Components: TextLayout
, TextFont
, TextColor
, TextBounds
, Anchor
, SpriteSource
, Visibility
, Transform
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Text
Required Components: Node
, TextLayout
, TextFont
, TextColor
, TextNodeFlags
, ContentSize
.
impl Component for Text
Required Components: Node
, TextLayout
, TextFont
, TextColor
, TextNodeFlags
, ContentSize
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for TextColor
impl Component for TextColor
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for TextFont
impl Component for TextFont
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for TextLayout
Required Components: ComputedTextBlock
, TextLayoutInfo
.
impl Component for TextLayout
Required Components: ComputedTextBlock
, TextLayoutInfo
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for TextSpan
impl Component for TextSpan
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for TouchInput
impl Component for TouchInput
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for Transform
Required Components: GlobalTransform
.
impl Component for Transform
Required Components: GlobalTransform
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for UiBoxShadowSamples
impl Component for UiBoxShadowSamples
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ViewVisibility
impl Component for ViewVisibility
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Window
impl Component for Window
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for WindowMoved
impl Component for WindowMoved
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for ZIndex
impl Component for ZIndex
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for NoAutomaticBatching
impl Component for NoAutomaticBatching
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for CameraMainTextureUsages
impl Component for CameraMainTextureUsages
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for CameraRenderGraph
impl Component for CameraRenderGraph
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Exposure
impl Component for Exposure
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ExtractedCamera
impl Component for ExtractedCamera
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ManualTextureView
impl Component for ManualTextureView
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ManualTextureViewHandle
impl Component for ManualTextureViewHandle
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for MipBias
impl Component for MipBias
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for TemporalJitter
impl Component for TemporalJitter
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ReadbackComplete
impl Component for ReadbackComplete
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for MeshMorphWeights
impl Component for MeshMorphWeights
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for SkinnedMesh
impl Component for SkinnedMesh
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Aabb
impl Component for Aabb
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for CascadesFrusta
impl Component for CascadesFrusta
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for CubemapFrusta
impl Component for CubemapFrusta
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Frustum
impl Component for Frustum
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for MainEntity
impl Component for MainEntity
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for RenderEntity
impl Component for RenderEntity
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for SyncToRenderWorld
impl Component for SyncToRenderWorld
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for TemporaryRenderEntity
impl Component for TemporaryRenderEntity
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ColorGrading
impl Component for ColorGrading
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ExtractedView
impl Component for ExtractedView
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for GpuCulling
impl Component for GpuCulling
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for NoCpuCulling
impl Component for NoCpuCulling
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for NoFrustumCulling
impl Component for NoFrustumCulling
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for RenderLayers
impl Component for RenderLayers
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for RenderVisibleEntities
impl Component for RenderVisibleEntities
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ViewDepthTexture
impl Component for ViewDepthTexture
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ViewTarget
impl Component for ViewTarget
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ViewUniformOffset
impl Component for ViewUniformOffset
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for VisibilityRange
impl Component for VisibilityRange
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for VisibleEntities
impl Component for VisibleEntities
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Captured
impl Component for Captured
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Capturing
impl Component for Capturing
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Screenshot
impl Component for Screenshot
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ScreenshotCaptured
impl Component for ScreenshotCaptured
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for SceneInstance
impl Component for SceneInstance
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for SceneInstanceReady
impl Component for SceneInstanceReady
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for Material2dBindGroupId
impl Component for Material2dBindGroupId
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Mesh2dMarker
impl Component for Mesh2dMarker
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Mesh2dTransforms
impl Component for Mesh2dTransforms
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Mesh2dViewBindGroup
impl Component for Mesh2dViewBindGroup
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for NoWireframe2d
impl Component for NoWireframe2d
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for SpriteBatch
impl Component for SpriteBatch
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for SpriteSource
impl Component for SpriteSource
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for SpriteViewBindGroup
impl Component for SpriteViewBindGroup
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Wireframe2d
impl Component for Wireframe2d
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Wireframe2dColor
impl Component for Wireframe2dColor
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ComputedTextBlock
impl Component for ComputedTextBlock
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for TextBounds
impl Component for TextBounds
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for TextLayoutInfo
impl Component for TextLayoutInfo
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for UiShadowsBatch
impl Component for UiShadowsBatch
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for GhostNode
Required Components: Visibility
, Transform
.
impl Component for GhostNode
Required Components: Visibility
, Transform
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ContentSize
impl Component for ContentSize
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for DefaultCameraView
impl Component for DefaultCameraView
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for RelativeCursorPosition
impl Component for RelativeCursorPosition
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for UiBatch
impl Component for UiBatch
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for UiTextureSlicerBatch
impl Component for UiTextureSlicerBatch
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ImageNodeSize
impl Component for ImageNodeSize
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for TextNodeFlags
impl Component for TextNodeFlags
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for ClosingWindow
impl Component for ClosingWindow
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for Monitor
impl Component for Monitor
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for PrimaryMonitor
impl Component for PrimaryMonitor
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for PrimaryWindow
impl Component for PrimaryWindow
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for RawHandleWrapper
impl Component for RawHandleWrapper
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for RawHandleWrapperHolder
impl Component for RawHandleWrapperHolder
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl Component for RequestRedraw
impl Component for RequestRedraw
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for WindowBackendScaleFactorChanged
impl Component for WindowBackendScaleFactorChanged
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for WindowCloseRequested
impl Component for WindowCloseRequested
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for WindowClosed
impl Component for WindowClosed
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for WindowClosing
impl Component for WindowClosing
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for WindowCreated
impl Component for WindowCreated
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for WindowDestroyed
impl Component for WindowDestroyed
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for WindowFocused
impl Component for WindowFocused
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for WindowOccluded
impl Component for WindowOccluded
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for WindowResized
impl Component for WindowResized
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for WindowScaleFactorChanged
impl Component for WindowScaleFactorChanged
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for WindowThemeChanged
impl Component for WindowThemeChanged
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for WakeUp
impl Component for WakeUp
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for ObserverState
impl Component for ObserverState
const STORAGE_TYPE: StorageType = StorageType::SparseSet
Source§impl Component for RemovedComponentEntity
impl Component for RemovedComponentEntity
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl Component for SystemIdMarker
impl Component for SystemIdMarker
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl<A> Component for AssetEvent<A>
impl<A> Component for AssetEvent<A>
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl<A> Component for AssetLoadFailedEvent<A>
impl<A> Component for AssetLoadFailedEvent<A>
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl<C> Component for RenderViewLightProbes<C>
impl<C> Component for RenderViewLightProbes<C>
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl<C> Component for DynamicUniformIndex<C>
impl<C> Component for DynamicUniformIndex<C>
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl<E> Component for Pointer<E>
impl<E> Component for Pointer<E>
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl<M> Component for MaterialNode<M>
Required Components: Node
.
impl<M> Component for MaterialNode<M>
Required Components: Node
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl<M> Component for MeshMaterial2d<M>
impl<M> Component for MeshMaterial2d<M>
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl<M> Component for MeshMaterial3d<M>
impl<M> Component for MeshMaterial3d<M>
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl<M> Component for UiMaterialBatch<M>
impl<M> Component for UiMaterialBatch<M>
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl<S> Component for StateScoped<S>
impl<S> Component for StateScoped<S>
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§impl<S> Component for StateTransitionEvent<S>
impl<S> Component for StateTransitionEvent<S>
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet
Source§impl<Source> Component for AudioPlayer<Source>
Required Components: PlaybackSettings
.
impl<Source> Component for AudioPlayer<Source>
Required Components: PlaybackSettings
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.