# OnStateMachineChanged(StateMachineLogger)

> Called after the state machine has changed.

## Definition

* **Type:** Method
* **Namespace:** [Unity.GraphToolkit.Editor](/engine/6000.7/script-reference/unity/graphtoolkit/editor.md)
* **Assembly:** UnityEditor

```csharp
public virtual void OnStateMachineChanged(StateMachineLogger stateMachineLogger)
```

### Parameters

**** (\[StateMachineLogger]\(/engine/6000.7/script-reference/unity/graphtoolkit/editor/statemachinelogger)): The [StateMachineLogger](/engine/6000.7/script-reference/unity/graphtoolkit/editor/statemachinelogger.md) that receives any errors or warnings related to the state machine, and provides access to information about what changes (added/deleted/modified states).

### Remarks

Unity calls this method after any change to the state machine. Override it to validate the state machine's integrity and report issues using the provided [StateMachineLogger](/engine/6000.7/script-reference/unity/graphtoolkit/editor/statemachinelogger.md),  or react to specific changes via [StateMachineLogger.StateMachineChanges](/engine/6000.7/script-reference/unity/graphtoolkit/editor/statemachinelogger/statemachinechanges.md). Use this method to detect invalid configurations, highlight issues in the editor, or provide user feedback. You can iterate the changed states efficiently without checking all states in the graph.

Do not modify the state machine within this method, as it may cause instability or recursive updates.
