docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Method GetComponent

    GetComponent<T>(Entity)

    Look up the value of a component for an entity.

    Declaration
    [Obsolete("Use SystemAPI.GetComponent instead (RemovedAfter Entities 1.0)")]
    protected T GetComponent<T>(Entity entity) where T : unmanaged, IComponentData
    Parameters
    Type Name Description
    Entity entity

    The entity.

    Returns
    Type Description
    T

    A struct of type T containing the component value.

    Type Parameters
    Name Description
    T

    The type of component to retrieve.

    Remarks

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

    When iterating over a set of entities via Entities.ForEach, do not use this method to access 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 on the main thread, it invokes GetComponentData<T>(Entity). (An Entities.ForEach function invoked with Run() executes on the main thread.) When you call this method inside a job scheduled using Entities.ForEach, 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.

    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)