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

EntityManager.SetArchetype

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 SetArchetype(Entity entity, EntityArchetype archetype);

Parameters

Parameter Description
entity The entity whose archetype to change.
archetype The new archetype for the entity.

Description

Adds and removes components of an entity to match the specified EntityArchetype.

Components of the archetype which the entity already has will preserve their values.

Components of the archetype which the entity does "not" have will get the default value for their types.

Adding a component to an entity changes its archetype and 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 adding 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 SetArchetype(NativeArray<Entity> entities, EntityArchetype archetype);

Parameters

Parameter Description
entities The entities whose archetype to change.
archetype The new archetype for the entities.

Description

Adds and removes components of a NativeArray of Entities to match the specified EntityArchetype.

Components of the archetype which the entities already have will preserve their values.

Components of the archetype which the entities do "not" have will get the default value for their types.

Adding a component to an entity changes its archetype and 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 adding the components. 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.