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
The EntityQuery defining the entities to add component to
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
Returns
Type | Description |
|---|---|
| bool | Returns 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
Returns
Type | Description |
|---|---|
| bool | Returns 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.