docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    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 component should be modified.

    T componentData

    The value to assign to entity's T component.

    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 component should be modified.

    T componentData

    The value to assign to the T component.

    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.

    In This Article
    Back to top
    Copyright © 2026 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)