Method SetSharedComponentData
SetSharedComponentData<T>(Entity, T)
Sets the shared component of an entity.
Declaration
[NotBurstCompatible]
public void SetSharedComponentData<T>(Entity entity, T componentData)
where T : struct, ISharedComponentData
Parameters
Type | Name | Description |
---|---|---|
Entity | entity | The entity |
T | componentData | A shared component object containing the values to set. |
Type Parameters
Name | Description |
---|---|
T | The shared component type. |
Remarks
Changing a shared component value of an entity results in the entity being moved to a different chunk. The entity moves to a chunk with other entities that have the same shared component values. A new chunk is created if no chunk with the same archetype and shared component values currently exists.
Important: This function creates a sync point, which means that the EntityManager waits for all currently running Jobs to complete before setting 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.
SetSharedComponentData<T>(EntityQuery, T)
Sets the shared component of all entities in the query.
Declaration
[NotBurstCompatible]
public void SetSharedComponentData<T>(EntityQuery query, T componentData)
where T : struct, ISharedComponentData
Parameters
Type | Name | Description |
---|---|---|
EntityQuery | query | |
T | componentData | A shared component object containing the values to set. |
Type Parameters
Name | Description |
---|---|
T | The shared component type. |
Remarks
The component data stays in the same chunk, the internal shared component data indices will be adjusted.
Important: This function creates a sync point, which means that the EntityManager waits for all currently running Jobs to complete before setting 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.