Struct ComponentTypeHandle<T>
A handle to a specific component type, used to access an ArchetypeChunk's component data in a job.
Namespace: Unity.Entities
Syntax
[NativeContainer]
[NativeContainerSupportsMinMaxWriteRestriction]
public struct ComponentTypeHandle<T>
Type Parameters
Name | Description |
---|---|
T | The component type |
Remarks
Passing a type handle to a job automatically registers the job as a reader or writer of that type, which allows the DOTS safety system to detect potential race conditions between concurrent jobs which access the same component type.
To create a ComponentTypeHandle, use GetComponentTypeHandle<T>(Boolean). While type handles can be created just in time before they're used, it is more efficient to create them once during system creation, cache them in a private field on the system, and incrementally update them with Update(ref SystemState) just before use.
If the component type is not known at compile time, use DynamicComponentTypeHandle.
Properties
Name | Description |
---|---|
GlobalSystemVersion | The global system version for which this handle is valid. |
IsReadOnly | Reports whether this type handle was created in read-only mode. |
Methods
Name | Description |
---|---|
ToFixedString() | Returns the formatted FixedString "ComponentTypeHandle[type_name_here]". |
Update(SystemBase) | When a ComponentTypeHandle is cached by a system across multiple system updates, calling this function inside the system's OnUpdate() method performs the minimal incremental updates necessary to make the type handle safe to use. |
Update(ref SystemState) | When a ComponentTypeHandle is cached by a system across multiple system updates, calling this function inside the system's OnUpdate() method performs the minimal incremental updates necessary to make the type handle safe to use. |