# EntityManagerDiffer

> The EntityManagerDiffer is used to efficiently track changes to a given world over time.

## Definition

* **Type:** Struct
* **Namespace:** [Unity.Entities](/engine/7000.0/script-reference/unity/entities.md)
* **Assembly:** UnityEngine.EntitiesModule
* **Implements:** [IDisposable](https://learn.microsoft.com/dotnet/api/system.idisposable)

```csharp
public struct EntityManagerDiffer : IDisposable
```

## Constructors

| Constructor                                                                                                                                                                                                       | Description                                  |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
| [EntityManagerDiffer(Unity.Entities.EntityManager,Unity.Collections.AllocatorManager.AllocatorHandle,Unity.Entities.EntityQueryDesc)](/engine/7000.0/script-reference/unity/entities/entitymanagerdiffer/ctor.md) | Constructs a new EntityManagerDiffer object. |

## Methods

| Method                                                                                         | Description                                                                                                                                                                                                      |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Dispose](/engine/7000.0/script-reference/unity/entities/entitymanagerdiffer/dispose.md)       | Disposes an EntityManagerDiffer object.                                                                                                                                                                          |
| [GetChanges](/engine/7000.0/script-reference/unity/entities/entitymanagerdiffer/getchanges.md) | Generates a detailed change set for the world. All entities to be considered for diffing must have the [EntityGuid](/engine/7000.0/script-reference/unity/entities/entityguid.md) component with a unique value. |
