Struct BufferTypeHandle<T>
A handle to a specific buffer component type, used to access an ArchetypeChunk's component data in a job.
Namespace: Unity.Entities
Assembly: Unity.Entities.dll
Syntax
[NativeContainer]
[NativeContainerSupportsMinMaxWriteRestriction]
public struct BufferTypeHandle<T> where T : unmanaged, IBufferElementData
Type Parameters
Name | Description |
---|---|
T | The buffer element 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 BufferTypeHandle, use GetBufferTypeHandle<T>(bool). 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 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 "BufferTypeHandle[type_name_here]". |
Update(SystemBase) | When a BufferTypeHandle 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 BufferTypeHandle 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. |