# Update()

> Update the system manually.

## Definition

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

```csharp
public override sealed void Update()
```

### Remarks

Systems should never override `Update()`. Instead, implement system behavior in [SystemBase.OnUpdate](/engine/7000.0/script-reference/unity/entities/systembase/onupdate.md).

If a system manually calls another system's [SystemBase.Update()](/engine/7000.0/script-reference/unity/entities/systembase/update.md) method from inside its own [SystemBase.OnUpdate](/engine/7000.0/script-reference/unity/entities/systembase/onupdate.md) method, [EntityQuery](/engine/7000.0/script-reference/unity/entities/entityquery.md) objects in the caller system might see unexpected and incorrect change version numbers based on the processing performed in the target system. For this reason, you shouldn't manually update one system from another if both systems are processing entity data, especially if either uses [EntityQuery.SetChangedVersionFilter](/engine/7000.0/script-reference/unity/entities/entityquery/setchangedversionfilter.md). This guidance doesn't apply to [ComponentSystemGroup](/engine/7000.0/script-reference/unity/entities/componentsystemgroup.md) or other "pass-through" systems which only update other systems without manipulating entity data.
