Documentation

Unity Engine


Unity Engine


AddComponentData

Adds a component to a set of entities defined by the EntityQuery and sets the component of each entity in the query to the value in the component array.
Read time 2 minutesLast updated a day ago

Definition

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

AddComponentData<T>(EntityQuery, NativeArray<T>)

Adds a component to a set of entities defined by the EntityQuery and sets the component of each entity in the query to the value in the component array.
public void AddComponentData<T>(EntityQuery entityQuery, NativeArray<T> componentArray) where T : unmanaged, IComponentData

Parameters

entityQuery

The EntityQuery defining the entities to add component to

componentArray

The NativeArray to add the components to.

Remarks

You can use this method to add a component to an Entity.
Adding components changes an entity's archetype and results in the entity being moved to a different chunk. componentArray.Length must match entityQuery.ToEntityArray().Length.

AddComponentData<T>(Entity, T)

Adds a component to an entity and set the value of that component.
public bool AddComponentData<T>(Entity entity, T componentData) where T : unmanaged, IComponentData

Parameters

entity

The entity.

componentData

T
The data to set.

Returns

Type

Description

boolReturns false if the entity alredy had the component.

Remarks

Can add any kind of component except chunk components or shared components.
Returns false if the entity already had the component. The component's data is set regardless.
Adding a component changes an entity's archetype and results in the entity being moved to a different chunk.
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.

AddComponentData<T>(SystemHandle, T)

Adds a component to an entity associated with a system and sets the value of that component.
public bool AddComponentData<T>(SystemHandle system, T componentData) where T : unmanaged, IComponentData

Parameters

The system handle.

componentData

T
The data to set.

Returns

Type

Description

boolReturns false if the entity already had the component.

Remarks

Can add any kind of component except chunk components or shared components.
Returns false if the entity already had the component. The component's data is set regardless.
Adding a component changes an entity's archetype and results in the entity being moved to a different chunk.
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.