# SetComponent<T>(Entity, T)

> Sets the value of a component of an entity.

## Definition

* **Type:** Method
* **Namespace:** [Unity.Entities](/engine/7000.0/script-reference/unity/entities.md)
* **Assembly:** UnityEngine.EntitiesModule

> **Warning:**
>
> **Deprecated.** Use SystemAPI.SetComponent instead (RemovedAfter Entities 1.0)

```csharp
protected void SetComponent<T>(Entity entity, T component) where T : unmanaged, IComponentData
```

### Parameters

**** (\[Entity]\(/engine/7000.0/script-reference/unity/entities/entity)): The entity.**** (T): The data to set.

### Remarks

Use this method to look up and set data in another entity using its [Entity](/engine/7000.0/script-reference/unity/entities/entity.md) 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 entities coming from a query, do not use this method to update data of the current entity in the set. This function is much slower than accessing the data directly.

When you call this method on the main thread, it invokes [EntityManager.SetComponentData](/engine/7000.0/script-reference/unity/entities/entitymanager/setcomponentdata.md).

This lookup method results in a slower, indirect memory access. When possible, organize your data to minimize the need for indirect lookups.
