Version: Unity 7.0 Alpha (7000.0)
LanguageEnglish
  • C#

EntityManager.SetSharedComponent

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Declaration

public void SetSharedComponent(EntityQuery query, T componentData);

Parameters

Parameter Description
query The query where matching entities will be assigned the shared component to.
componentData A shared component object containing the values to set.

Description

Sets the shared component of all entities in the query.

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.


Declaration

public void SetSharedComponent(Entity entity, T componentData);

Parameters

Parameter Description
entity The entity
componentData An unmanaged shared component object containing the values to set.

Description

Sets the shared component of an entity.

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.


Declaration

public void SetSharedComponent(NativeArray<Entity> entities, T componentData);

Parameters

Parameter Description
entities The target entities
componentData An unmanaged shared component object containing the values to set.

Description

Sets the shared component value on an array of entities

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.


Declaration

public void SetSharedComponent(ArchetypeChunk chunk, T componentData);

Parameters

Parameter Description
chunk The target chunk
componentData An unmanaged shared component object containing the values to set.

Description

Sets the shared component on a chunk.

Changing a shared component value of a chunk results effectively changes the value for all entities in that chunk. This is generally more efficient than setting the values individually on each entity.

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.