Documentation

Unity Engine


Unity Engine


SetComponent

Sets the value of a component of an entity.
Read time 1 minuteLast updated a day ago

Definition

  • Type: Method
  • Namespace: Unity.Entities
  • Assembly: UnityEngine.EntitiesModule

SetComponent<T>(Entity, T)

Sets the value of a component of an entity.
public static void SetComponent<T>(Entity entity, T component) where T : unmanaged, IComponentData

Parameters

entity

The entity.

component

T
The data to set.

Remarks

Use this method to look up and set data in another entity using its Entity object. For example, if you have a component that contains an Entity field, you can update the component data for the referenced entity using this method.
When iterating over a set of entities with an idomatic foreach query, don't use this method to access the data of the current entity in the set. It's faster to access the data by requesting it as an argument of a query.
When you call this method gets replaced with component access methods through ComponentLookup<T>.
In both cases, this lookup method results in a slower, indirect memory access. When possible, organize your data to minimize the need for indirect lookups.
Not working in IJobEntity, and Utility methods

SetComponent<T>(SystemHandle, T)

Sets the value of a component of an entity associated with a system.
public static void SetComponent<T>(SystemHandle systemHandle, T component) where T : unmanaged, IComponentData

Parameters

systemHandle

The system handle.

component

T
The data to set.

Remarks

Use this method to look up and set data in another system owned entity using its SystemHandle object.
When you call this method gets replaced with component access methods through ComponentLookup<T>.
Not working in IJobEntity, and Utility methods