docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Method HasComponent

    HasComponent<T>(Entity)

    Checks whether an entity has a specific type of component.

    Declaration
    public static bool HasComponent<T>(Entity entity) where T : unmanaged, IComponentData
    Parameters
    Type Name Description
    Entity entity

    The Entity object.

    Returns
    Type Description
    bool

    True, if the specified entity has the component.

    Type Parameters
    Name Description
    T

    The data type of the component.

    Remarks

    Always returns false for an entity that has been destroyed.

    Use this method to check if another entity has a given type of component using its Entity object. For example, if you have a component that contains an Entity field, you can check whether the referenced entity has a specific type of component using this method. (Entities in the set always have required components, so you don’t need to check for them.)

    When iterating over a set of entities with an idomatic foreach query, don't use this method to access the data of the current entity in the set. It's faster to change your query to avoid using optional components.

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

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

    HasComponent<T>(SystemHandle)

    Checks whether an entity associated with a system has a specific type of component.

    Declaration
    public static bool HasComponent<T>(SystemHandle systemHandle) where T : unmanaged, IComponentData
    Parameters
    Type Name Description
    SystemHandle systemHandle

    The system handle.

    Returns
    Type Description
    bool

    True, if the specified system owned entity has the component.

    Type Parameters
    Name Description
    T

    The data type of the component.

    Remarks

    Always returns false for an system that has been destroyed.

    Use this method to check if another system owned entity has a given type of component using its SystemHandle object.

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

    In This Article
    • HasComponent<T>(Entity)
    • HasComponent<T>(SystemHandle)
    Back to top
    Copyright © 2025 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)