Use Debug.Break() to pause Unity editor from the code

You can pause your game from the editor any time you want. But did you know that you can trigger the pause from the code based on some condition?

error pause console

There’s a console option called Error Pause. When enabled, it will pause your game when any run-time error occurs. When your game is paused, you can easily investigate what is going on your scene so you can better understand the problem. But what if you want to pause your game on a custom condition? It can also be done!

In order to do this, you have to use the Debug.Break() function. Just call it when you want to pause your Unity editor.

Example

using UnityEngine;

public class DebugBreakExample : MonoBehaviour {
	void OnGUI() {
	    if (GUILayout.Button("Pause Now!")) {
	        Debug.Break();
	    }
	}
}

This example displays a button in the top-left corner. When the button is clicked, the editor pauses.

Debug.Break() has one more significant advantage over manual pausing and stepping forward. It can pause your game in the middle of an execution frame. This means that part of your object may be still waiting for the Update() call and the other part has already been updated. This is really useful for situations when you’re dealing with a bug that appears randomly.

Don’t worry about leaving Debug.Break() functions in your code. When your game is built it literally does nothing! 🙂

Files

As usual, you can download the example unitypackage here. Just double-click on it to import its contents into your Unity project. You will find there an example scene and the script from above.

related
Game designMobileTips
Core Loop in Game Development
What exactly is it? A core loop is one of the most important parts of game design, especially...
1
IntermediateTips
Mobile Optimization – Batching in Unity
Do you know what batching is? You may want to check out the Nvidia presentation Batch, Batch,...
4
AdvancedGuide
Artificial locomotion in Unity using Machine Learning Part 3
Training and results ML-Agents training One of the most essential parts of training is hyperparameter...
0
Call The Knights!
We are here for you.
Please contact us with regards to a Unity project below.



The Knights appreciate your decision!
Expect the first news soon!
hire us!