はじめに
Unity で指定のタイミングで動作を停止させたい時がある場合に今回のようなテクニックが使えますので是非試してみてください。
Unityを知らない方は、ぜひ こちらの記事 をご参照ください。
使い方
使い方は簡単です、「Debug.Break()」を使うことにより、Unityエディターの一時停止と同じことが行えます。
以下にテストスクリプトを書いてみました、実行開始したら3秒後に一時停止します。
using System.Collections;
using UnityEngine;
public class BreakTest : MonoBehaviour
{
void Start()
{
StartCoroutine(SleepBreak());
}
IEnumerator SleepBreak()
{
Debug.Log("開始しました。");
yield return new WaitForSeconds(3f);
Debug.Log("問題が発生したため停止します。");
Debug.Break();
}
}
さっそく実行してみました、3秒後にログを出力して、Unityの一時停止ボタンが自動的に押されました。
その他の活用例
- Visual Studio のデバッグ停止とは違うがお手軽に使える
- 特定の変数が 10 になったら停止する
- 特定の変数が null になったら停止する