Documentation

Unity Engine


Unity Engine


SetArchetype

Adds and removes components of an entity to match the specified EntityArchetype.
Read time 2 minutesLast updated 2 days ago

Definition

  • Type: Method
  • Namespace: Unity.Entities
  • Assembly: UnityEngine.EntitiesModule

SetArchetype(Entity, EntityArchetype)

Adds and removes components of an entity to match the specified EntityArchetype.
public void SetArchetype(Entity entity, EntityArchetype archetype)

Parameters

entity

The entity whose archetype to change.

The new archetype for the entity.

Remarks

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.

SetArchetype(NativeArray<Entity>, EntityArchetype)

Adds and removes components of a NativeArray of Entities to match the specified EntityArchetype.
public void SetArchetype(NativeArray<Entity> entities, EntityArchetype archetype)

Parameters

The entities whose archetype to change.

The new archetype for the entities.

Remarks

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.