docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    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.

    In This Article
    Back to top
    Copyright © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)