Version: 2019.3
Running Editor Script Code on Launch
Domain Reloading

Configurable Enter Play Mode

Play Mode is one of Unity’s core features. It allows you to run your project directly inside the Editor, via the Play button in the ToolbarA row of buttons and basic controls at the top of the Unity Editor that allows you to interact with the Editor in various ways (e.g. scaling, translation). More info
See in Glossary
. When you enter Play Mode, your project starts and runs as it would in a build. Any changes you make in the Editor during Play Mode reset when you exit Play Mode.

When you enter Play Mode in the Editor, Unity performs two significant actions to ensure your project starts in the Editor in the same way as it would in a build:

  • It resets the scripting state (this is also called a “Domain Reload”)
  • It reloads the Scene

These two actions take some time to perform, and the amount of time increases as your scriptsA piece of code that allows you to create your own Components, trigger game events, modify Component properties over time and respond to user input in any way you like. More info
See in Glossary
and ScenesA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
See in Glossary
become more complex.

The ability to quickly enter and exit Play Mode is an important factor while you are developing your game or app. The faster you can enter and exit Play Mode, the faster you can make and test changes.

Because a rapid speed of iteration while developing is important, and because the time to reset the Scene and scripting state can become an obstacle to that, Unity offers the ability to configure** **what happens when you enter Play Mode, giving you the option to disable either, or both, of the “Domain Reload” and “Scene Reload” actions. These two options are provided by the Configurable Enter Play Mode feature.

The diagram below shows the effects of disabling the Reload Domain and Reload Scene settings.

The effects of disabling the Reload Domain and Reload Scene settings
The effects of disabling the Reload Domain and Reload Scene settings

How to configure Play Mode

To configure the Enter Play Mode settings, go to File > Project Settings > Editor and enable Enter Play Mode Options. When you enable this, the options to reload domain and reload scene become available.

The Enter Play Mode settings in the Editor Project Settings window
The Enter Play Mode settings in the Editor Project Settings window

Enable Reload Domain to enable Domain Reloading. Enable Reload Scene to enable Scene Reloading.

Note: This feature is experimental. Not all packages are validated as compatible with disabled Domain and Scene Reloading, and the behaviour of the feature might change in future versions of Unity.

Did you find this page useful? Please give it a rating:

Running Editor Script Code on Launch
Domain Reloading