docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Method SetComponent

    SetComponent<T>(Entity, T)

    Sets the value of a component of an entity.

    Declaration
    public static void SetComponent<T>(Entity entity, T component) where T : unmanaged, IComponentData
    Parameters
    Type Name Description
    Entity entity

    The entity.

    T component

    The data to set.

    Type Parameters
    Name Description
    T

    The component type.

    Remarks

    Use this method to look up and set data in another entity using its Entity object. For example, if you have a component that contains an Entity field, you can update the component data for the referenced entity using this method.

    When iterating over a set of entities via IJobEntity or Query<T1>(), do not use this method to update data of the current entity in the set. This function is much slower than accessing the data directly (by passing the component containing the data to your lambda iteration function as a parameter).

    When you call this method gets replaced with component access methods through ComponentLookup<T>.

    In both cases, this lookup method results in a slower, indirect memory access. When possible, organize your data to minimize the need for indirect lookups.

    Exceptions
    Type Condition
    ArgumentException

    Thrown if the component type has no fields.

    SetComponent<T>(SystemHandle, T)

    Sets the value of a component of an entity associated with a system.

    Declaration
    public static void SetComponent<T>(SystemHandle systemHandle, T component) where T : unmanaged, IComponentData
    Parameters
    Type Name Description
    SystemHandle systemHandle

    The system handle.

    T component

    The data to set.

    Type Parameters
    Name Description
    T

    The component type.

    Remarks

    Use this method to look up and set data in another system owned entity using its SystemHandle object.

    When you call this method gets replaced with component access methods through ComponentLookup<T>.

    Exceptions
    Type Condition
    ArgumentException

    Thrown if the component type has no fields.

    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)