# playModeStateChanged

> Event that is raised whenever the Editor's play mode state changes.

## Definition

* **Type:** Event
* **Namespace:** [UnityEditor](/engine/6000.3/script-reference/unityeditor.md)
* **Assembly:** UnityEditor

```csharp
public static event Action<PlayModeStateChange> playModeStateChanged
```

### Remarks

Add an event handler to this event to receive a notification that the play mode state has changed, as well as information about the state it has changed into.

The following example script logs the Editor's play mode state to the console whenever if changes. Copy it into a file called PlayModeStateChangedExample.cs and put it in a folder called Editor.

```csharp
using UnityEngine;
using UnityEditor;

// ensure class initializer is called whenever scripts recompile
[InitializeOnLoadAttribute]
public static class PlayModeStateChangedExample
{
    // register an event handler when the class is initialized
    static PlayModeStateChangedExample()
    {
        EditorApplication.playModeStateChanged += LogPlayModeState;
    }

    private static void LogPlayModeState(PlayModeStateChange state)
    {
        Debug.Log(state);
    }
}
```

Additional Resources: [PlayModeStateChange](/engine/6000.3/script-reference/unityeditor/playmodestatechange.md), [EditorApplication.isPlaying](/engine/6000.3/script-reference/unityeditor/editorapplication/isplaying.md), [EditorApplication.pauseStateChanged](/engine/6000.3/script-reference/unityeditor/editorapplication/pausestatechanged.md).
