Method AddComponentData
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.
Declaration
[NotBurstCompatible]
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 |
Remarks
Can add any kind of component except chunk components, managed components, and shared components.
componentArray.Length must match entityQuery.ToEntityArray().Length.
AddComponentData<T>(Entity, T)
Adds a component to an entity and set the value of that component.
Declaration
[BurstCompatible(GenericTypeArguments = new Type[]{typeof(BurstCompatibleComponentData)})]
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
Can add any kind of component except chunk components, managed 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 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.
Exceptions
Type | Condition |
---|---|
ArgumentException | The Entity does not exist. |