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

EntityManager.AddComponentData

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 AddComponentData(EntityQuery entityQuery, NativeArray<T> componentArray);

Parameters

Parameter Description
entityQuery The EntityQuery defining the entities to add component to
componentArray The NativeArray to add the components to.

Description

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.

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.


Declaration

public bool AddComponentData(Entity entity, T componentData);

Parameters

Parameter Description
entity The entity.
componentData The data to set.

Returns

bool Returns false if the entity alredy had the component.

Description

Adds a component to an entity and set the value of that component.

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.


Declaration

public bool AddComponentData(SystemHandle system, T componentData);

Parameters

Parameter Description
system The system handle.
componentData The data to set.

Returns

bool Returns false if the entity already had the component.

Description

Adds a component to an entity associated with a system and sets the value of that component.

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.