docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Method SetSharedComponentManaged

    SetSharedComponentManaged<T>(Entity, T)

    Sets the shared component of an entity.

    Declaration
    [ExcludeFromBurstCompatTesting("Accesses managed component store")]
    public void SetSharedComponentManaged<T>(Entity entity, T componentData) where T : struct, ISharedComponentData
    Parameters
    Type Name Description
    Entity entity

    The entity

    T componentData

    A shared component object containing the values to set.

    Type Parameters
    Name Description
    T

    The shared component type.

    Remarks

    Changing a shared component value of an entity results in the entity being moved to a different chunk. The entity moves to a chunk with other entities that have the same shared component values. A new chunk is created if no chunk with the same archetype and shared component values currently exists.

    Important: This method creates a sync point, which means that the EntityManager waits for all currently running jobs to complete before setting the component. No additional jobs can start before the method is finished. A sync point can cause a drop in performance because the ECS framework might not be able to use the processing power of all available cores.

    SetSharedComponentManaged<T>(NativeArray<Entity>, T)

    Sets the shared component on an array of entities

    Declaration
    [ExcludeFromBurstCompatTesting("Accesses managed component store")]
    public void SetSharedComponentManaged<T>(NativeArray<Entity> entities, T componentData) where T : struct, ISharedComponentData
    Parameters
    Type Name Description
    NativeArray<Entity> entities

    The target entities

    T componentData

    A shared component object containing the values to set.

    Type Parameters
    Name Description
    T

    The shared component type.

    Remarks

    Changing a shared component value of an entity results in the entity being moved to a different chunk. The entity moves to a chunk with other entities that have the same shared component values. A new chunk is created if no chunk with the same archetype and shared component values currently exists.

    Important: This method creates a sync point, which means that the EntityManager waits for all currently running jobs to complete before setting the component. No additional jobs can start before the method is finished. A sync point can cause a drop in performance because the ECS framework might not be able to use the processing power of all available cores.

    SetSharedComponentManaged<T>(EntityQuery, T)

    Sets the shared component of all entities in the query.

    Declaration
    [ExcludeFromBurstCompatTesting("Accesses managed component store")]
    public void SetSharedComponentManaged<T>(EntityQuery query, T componentData) where T : struct, ISharedComponentData
    Parameters
    Type Name Description
    EntityQuery query

    The query where matching entities will be assigned the shared component to.

    T componentData

    A shared component object containing the values to set.

    Type Parameters
    Name Description
    T

    The shared component type.

    Remarks

    The component data stays in the same chunk, the internal shared component data indices will be adjusted.

    Important: This method creates a sync point, which means that the EntityManager waits for all currently running jobs to complete before setting the component. No additional jobs can start before the method is finished. A sync point can cause a drop in performance because the ECS framework might not be able to use the processing power of all available cores.

    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)