Struct DynamicComponentTypeHandle
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 DynamicComponentTypeHandle
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 DynamicComponentTypeHandle, use GetDynamicComponentTypeHandle(ComponentType). 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(SystemBase) just before use.
If the component type is known at compile time, use ComponentTypeHandle<T>.
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 |
---|---|
CopyToReadOnly() | API that allows user-code to fetch chunk component data as read-only (to avoid bumping change versions when unnecessary). |
ToFixedString() | Returns the formatted FixedString "DynamicComponentTypeHandle[type_name_here]". |
Update(SystemBase) | When a DynamicComponentTypeHandle 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 DynamicComponentTypeHandle 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. |