Method AddComponentObject
AddComponentObject(Entity, Object)
Adds a managed UnityEngine.Component object to an entity.
Declaration
[NotBurstCompatible]
public void AddComponentObject(Entity entity, object componentData)Parameters
| Type | Name | Description | 
|---|---|---|
| Entity | entity | The entity to modify. | 
| Object | componentData | An object inheriting UnityEngine.Component. | 
Remarks
Accessing data in a managed object forfeits many opportunities for increased performance. Adding managed objects to an entity should be avoided or used sparingly.
Adding a component changes an entity's archetype and results in the entity being moved to a different chunk.
The method also works for adding managed objects implementing IComponentData, but AddComponentData is the preferred method for those objects.
Important: This function creates a sync point, which means that the EntityManager waits for all currently running Jobs to complete before adding the object 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 | 
|---|---|
| ArgumentNullException | If the componentData object is not an instance of UnityEngine.Component. |