Method AddComponentData
AddComponentData<T>(EntityQuery, NativeArray<T>)
Adds a component to a set of entities defines by the EntityQuery and sets the component of each entity in the query to the value in the component array. componentArray.Length must match entityQuery.ToEntityArray().Length.
Declaration
public void AddComponentData<T>(EntityQuery entityQuery, NativeArray<T> componentArray)
where T : struct, IComponentData
Parameters
Type | Name | Description |
---|---|---|
EntityQuery | entityQuery | THe EntityQuery defining the entities to add component to |
NativeArray<T> | componentArray |
Type Parameters
Name | Description |
---|---|
T |
AddComponentData<T>(Entity, T)
Adds a component to an entity and set the value of that component. Returns true if the component was added, false if the entity already had the component. (The component's data is set either way.)
Declaration
public bool AddComponentData<T>(Entity entity, T componentData)
where T : struct, IComponentData
Parameters
Type | Name | Description |
---|---|---|
Entity | entity | The entity. |
T | componentData | The data to set. |
Returns
Type | Description |
---|---|
Boolean |
Type Parameters
Name | Description |
---|---|
T | The type of component. |
Remarks
Adding a component changes an entity's archetype and results in the entity being moved to a different chunk.
Important: This function creates a sync point, which means that the EntityManager waits for all currently running Jobs to complete before adding the component and no additional Jobs can start before the function is finished. A sync point can cause a drop in performance because the ECS framework may not be able to make use of the processing power of all available cores.