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. |