Method SetComponentData
SetComponentData<T>(Entity, T)
Sets the value of a component of an entity.
Declaration
[GenerateTestsForBurstCompatibility(GenericTypeArguments = new Type[] { typeof(BurstCompatibleComponentData) })]
public void SetComponentData<T>(Entity entity, T componentData) where T : unmanaged, IComponentData
Parameters
| Type | Name | Description |
|---|---|---|
| Entity | entity | The entity whose |
| T | componentData | The value to assign to |
Type Parameters
| Name | Description |
|---|---|
| T | The component type. |
Remarks
The target entity must exist, and it must have the target component.
Examples
public partial struct SetComponentOnSingleEntitySystemExample : ISystem
{
public void OnCreate(ref SystemState state)
{
var entity = state.EntityManager.CreateEntity();
state.EntityManager.AddComponent<Rotation>(entity);
state.EntityManager.SetComponentData<Rotation>(entity, new Rotation { Value = quaternion.identity });
}
}
Exceptions
| Type | Condition |
|---|---|
| ArgumentException | Thrown if the component type has no fields. |
SetComponentData<T>(SystemHandle, T)
Sets the value of a component of an entity associated with a system.
Declaration
[GenerateTestsForBurstCompatibility(GenericTypeArguments = new Type[] { typeof(BurstCompatibleComponentData) })]
public void SetComponentData<T>(SystemHandle system, T componentData) where T : unmanaged, IComponentData
Parameters
| Type | Name | Description |
|---|---|---|
| SystemHandle | system | Handle to the system whose entity's |
| T | componentData | The value to assign to the |
Type Parameters
| Name | Description |
|---|---|
| T | The component type. |
Remarks
The target entity must exist, and it must have the target component.
Examples
public partial struct SetComponentOnSystemEntitySystemExample : ISystem
{
public struct MyComponent : IComponentData
{
public int Value;
}
public void OnCreate(ref SystemState state)
{
// Add MyComponent to this system's entity.
state.EntityManager.AddComponentData(state.SystemHandle, new MyComponent());
}
public void OnUpdate(ref SystemState state)
{
// Modify the value of MyComponent on this system's entity.
state.EntityManager.SetComponentData(state.SystemHandle, new MyComponent{Value = 6});
}
}
Exceptions
| Type | Condition |
|---|---|
| ArgumentException | Thrown if the component type has no fields. |
| InvalidOperationException | Thrown if the system isn't from this world. |