Trait bevy::ecs::prelude::Component

pub trait Component: Send + Sync + 'static {
    const STORAGE_TYPE: StorageType;

    // Provided method
    fn register_component_hooks(_hooks: &mut ComponentHooks) { ... }
}
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;

§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§

const STORAGE_TYPE: StorageType

A constant indicating the storage type used for this component.

Provided Methods§

fn register_component_hooks(_hooks: &mut ComponentHooks)

Called when registering this component, allowing mutable access to its ComponentHooks.

Object Safety§

This trait is not object safe.

Implementors§

§

impl Component for DependencyLoadState
where DependencyLoadState: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for LoadState
where LoadState: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for RecursiveDependencyLoadState

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for DepthOfFieldMode
where DepthOfFieldMode: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for DepthOfFieldPipelines
where DepthOfFieldPipelines: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for DebandDither
where DebandDither: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Tonemapping
where Tonemapping: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ClusterConfig
where ClusterConfig: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for LightEntity
where LightEntity: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ShadowFilteringMethod
where ShadowFilteringMethod: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Projection
where Projection: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Visibility
where Visibility: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Anchor
where Anchor: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ImageScaleMode
where ImageScaleMode: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for FocusPolicy
where FocusPolicy: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Interaction
where Interaction: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ZIndex
where ZIndex: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for AccessibilityNode
where AccessibilityNode: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for AnimationTransitions
where AnimationTransitions: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for AnimationPlayer
where AnimationPlayer: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for AnimationTarget
where AnimationTarget: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for AudioSink
where AudioSink: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for PlaybackSettings
where PlaybackSettings: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for SpatialAudioSink
where SpatialAudioSink: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for SpatialListener
where SpatialListener: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Name
where Name: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for AutoExposureSettings
where AutoExposureSettings: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for BloomSettings
where BloomSettings: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ContrastAdaptiveSharpeningSettings

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for DenoiseCAS
where DenoiseCAS: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ViewCASPipeline
where ViewCASPipeline: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ViewTransmissionTexture
where ViewTransmissionTexture: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for DeferredLightingIdDepthTexture

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for AuxiliaryDepthOfFieldTexture

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for DepthOfFieldSettings
where DepthOfFieldSettings: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for DepthOfFieldUniform
where DepthOfFieldUniform: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ViewDepthOfFieldBindGroupLayouts

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for TemporalAntiAliasSettings
where TemporalAntiAliasSettings: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for CameraFxaaPipeline
where CameraFxaaPipeline: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Fxaa
where Fxaa: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for MotionBlurPipelineId
where MotionBlurPipelineId: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for MotionBlur
where MotionBlur: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for MsaaWritebackBlitPipeline
where MsaaWritebackBlitPipeline: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Camera2d
where Camera2d: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Camera3d
where Camera3d: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for DeferredPrepass
where DeferredPrepass: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for DepthPrepass
where DepthPrepass: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for MotionVectorPrepass
where MotionVectorPrepass: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for NormalPrepass
where NormalPrepass: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ViewPrepassTextures
where ViewPrepassTextures: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Skybox
where Skybox: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ViewTonemappingPipeline
where ViewTonemappingPipeline: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ViewUpscalingPipeline
where ViewUpscalingPipeline: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ShowAabbGizmo
where ShowAabbGizmo: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ShowLightGizmo
where ShowLightGizmo: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for GltfExtras
where GltfExtras: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Children
where Children: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Parent
where Parent: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for DeferredLightingPipeline
where DeferredLightingPipeline: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for PbrDeferredLightingDepthId

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for EnvironmentMapLight
where EnvironmentMapLight: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for IrradianceVolume
where IrradianceVolume: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for CascadeShadowConfig
where CascadeShadowConfig: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Cascades
where Cascades: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for CascadesVisibleEntities
where CascadesVisibleEntities: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Clusters
where Clusters: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for CubemapVisibleEntities
where CubemapVisibleEntities: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for DirectionalLight
where DirectionalLight: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ExtractedClusterConfig
where ExtractedClusterConfig: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ExtractedClustersPointLights

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ExtractedDirectionalLight
where ExtractedDirectionalLight: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ExtractedPointLight
where ExtractedPointLight: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for FogSettings
where FogSettings: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for LightProbe
where LightProbe: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Lightmap
where Lightmap: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for MaterialBindGroupId
where MaterialBindGroupId: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for MeshTransforms
where MeshTransforms: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for MeshViewBindGroup
where MeshViewBindGroup: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for NotShadowCaster
where NotShadowCaster: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for NotShadowReceiver
where NotShadowReceiver: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for PointLight
where PointLight: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for PreprocessBindGroup
where PreprocessBindGroup: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for PreviousGlobalTransform
where PreviousGlobalTransform: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for PreviousViewData
where PreviousViewData: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for PreviousViewUniformOffset
where PreviousViewUniformOffset: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ScreenSpaceAmbientOcclusionSettings

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ScreenSpaceAmbientOcclusionTextures

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ScreenSpaceReflectionsPipelineId

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ScreenSpaceReflectionsSettings

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ScreenSpaceReflectionsUniform

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ShadowView
where ShadowView: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for SkinIndex
where SkinIndex: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for SpotLight
where SpotLight: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for TransmittedShadowReceiver
where TransmittedShadowReceiver: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ViewClusterBindings
where ViewClusterBindings: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ViewFogUniformOffset
where ViewFogUniformOffset: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ViewLightEntities
where ViewLightEntities: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ViewLightProbesUniformOffset

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ViewLightsUniformOffset
where ViewLightsUniformOffset: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ViewScreenSpaceReflectionsUniformOffset

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ViewShadowBindings
where ViewShadowBindings: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ViewVolumetricFogPipeline
where ViewVolumetricFogPipeline: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ViewVolumetricFogUniformOffset

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for VisiblePointLights
where VisiblePointLights: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for VolumetricFogSettings
where VolumetricFogSettings: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for VolumetricLight
where VolumetricLight: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for NoWireframe
where NoWireframe: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Wireframe
where Wireframe: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for WireframeColor
where WireframeColor: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for NoAutomaticBatching
where NoAutomaticBatching: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for CameraMainTextureUsages
where CameraMainTextureUsages: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for CameraRenderGraph
where CameraRenderGraph: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Exposure
where Exposure: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ExtractedCamera
where ExtractedCamera: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ManualTextureView
where ManualTextureView: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ManualTextureViewHandle
where ManualTextureViewHandle: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for MipBias
where MipBias: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for TemporalJitter
where TemporalJitter: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for MeshMorphWeights
where MeshMorphWeights: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for SkinnedMesh
where SkinnedMesh: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Camera
where Camera: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for InheritedVisibility
where InheritedVisibility: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for MorphWeights
where MorphWeights: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for OrthographicProjection
where OrthographicProjection: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for PerspectiveProjection
where PerspectiveProjection: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ViewVisibility
where ViewVisibility: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Aabb
where Aabb: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for CascadesFrusta
where CascadesFrusta: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for CubemapFrusta
where CubemapFrusta: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Frustum
where Frustum: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ColorGrading
where ColorGrading: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ExtractedView
where ExtractedView: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for GpuCulling
where GpuCulling: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for NoCpuCulling
where NoCpuCulling: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for NoFrustumCulling
where NoFrustumCulling: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for RenderLayers
where RenderLayers: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ViewDepthTexture
where ViewDepthTexture: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ViewTarget
where ViewTarget: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ViewUniformOffset
where ViewUniformOffset: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for VisibilityRange
where VisibilityRange: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for VisibleEntities
where VisibleEntities: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for SceneInstance
where SceneInstance: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Material2dBindGroupId
where Material2dBindGroupId: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Mesh2d
where Mesh2d: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Mesh2dHandle
where Mesh2dHandle: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Mesh2dTransforms
where Mesh2dTransforms: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Mesh2dViewBindGroup
where Mesh2dViewBindGroup: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for NoWireframe2d
where NoWireframe2d: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Sprite
where Sprite: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for SpriteBatch
where SpriteBatch: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for SpriteSource
where SpriteSource: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for TextureAtlas
where TextureAtlas: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Wireframe2d
where Wireframe2d: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Wireframe2dColor
where Wireframe2dColor: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Text2dBounds
where Text2dBounds: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Text
where Text: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for TextLayoutInfo
where TextLayoutInfo: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for GlobalTransform
where GlobalTransform: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Transform
where Transform: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for BackgroundColor
where BackgroundColor: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for BorderColor
where BorderColor: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for BorderRadius
where BorderRadius: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for CalculatedClip
where CalculatedClip: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ContentSize
where ContentSize: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for DefaultCameraView
where DefaultCameraView: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for IsDefaultUiCamera
where IsDefaultUiCamera: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Node
where Node: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Outline
where Outline: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for RelativeCursorPosition
where RelativeCursorPosition: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Style
where Style: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for TargetCamera
where TargetCamera: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for UiBatch
where UiBatch: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for UiImage
where UiImage: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Button
where Button: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Label
where Label: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for TextFlags
where TextFlags: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for UiImageSize
where UiImageSize: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for ClosingWindow
where ClosingWindow: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for PrimaryWindow
where PrimaryWindow: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for RawHandleWrapper
where RawHandleWrapper: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl Component for Window
where Window: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl<A> Component for Handle<A>
where A: Asset, Handle<A>: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl<C> Component for RenderViewLightProbes<C>

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl<C> Component for DynamicUniformIndex<C>
where C: Component, DynamicUniformIndex<C>: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl<M> Component for UiMaterialBatch<M>
where M: UiMaterial, UiMaterialBatch<M>: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

§

impl<T> Component for GpuArrayBufferIndex<T>
where T: GpuArrayBufferable, GpuArrayBufferIndex<T>: Send + Sync + 'static,

§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table