docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Method AddComponent

    AddComponent<T>(EntityCommandBuffer, Entity, T)

    Records a command to add and set a managed component for an entity.

    Declaration
    public static void AddComponent<T>(this EntityCommandBuffer ecb, Entity e, T component) where T : class
    Parameters
    Type Name Description
    EntityCommandBuffer ecb

    This entity command buffer.

    Entity e

    The entity to set the component value on.

    T component

    The component value to add.

    Type Parameters
    Name Description
    T

    The type of component to add.

    Remarks

    At playback, if the entity already has this type of component, the value will just be set. Will throw an error if this entity is destroyed before playback, if this entity is still deferred, or adding this componentType makes the archetype too large.

    Exceptions
    Type Condition
    NullReferenceException

    Throws if an Allocator was not passed in when the EntityCommandBuffer was created.

    InvalidOperationException

    Throws if this EntityCommandBuffer has already been played back.

    AddComponent<T>(EntityCommandBuffer, Entity)

    Records a command to add a managed component for an entity.

    Declaration
    public static void AddComponent<T>(this EntityCommandBuffer ecb, Entity e) where T : class
    Parameters
    Type Name Description
    EntityCommandBuffer ecb

    This entity command buffer.

    Entity e

    The entity to set the component value on.

    Type Parameters
    Name Description
    T

    The type of component to add.

    Remarks

    At playback, this command throws an error if this entity is destroyed before playback, if this entity is still deferred, or adding this componentType makes the archetype too large.

    Exceptions
    Type Condition
    NullReferenceException

    Throws if an Allocator was not passed in when the EntityCommandBuffer was created.

    InvalidOperationException

    Throws if this EntityCommandBuffer has already been played back.

    AddComponent<T>(EntityCommandBuffer, EntityQuery, T)

    Records a command to add a managed component and set its value for all entities matching a query.

    Declaration
    public static void AddComponent<T>(this EntityCommandBuffer ecb, EntityQuery query, T component) where T : class, IComponentData, new()
    Parameters
    Type Name Description
    EntityCommandBuffer ecb

    This entity command buffer.

    EntityQuery query

    The query specifying which entities to add the component value to.

    T component

    The component value to add.

    Type Parameters
    Name Description
    T

    The type of component to add.

    Remarks

    The set of entities matching the query is 'captured' in the method call, and the recorded command stores an array of all these entities.

     Entities which already have the component type will have the component set to the value.
    
    Exceptions
    Type Condition
    InvalidOperationException

    Thrown in playback if one or more of the entities has been destroyed. (With safety checks disabled, playback will perform invalid and unsafe memory access.).

    NullReferenceException

    Throws if an Allocator was not passed in when the EntityCommandBuffer was created.

    InvalidOperationException

    Throws if this EntityCommandBuffer has already been played back.

    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)