MRが楽しい

MRやVRについて学習したことを書き残す

Unityでスクリプトからエディターの再生・一時停止・停止を操作する

本日は Unity の小ネタ枠です。
Unityでスクリプトからエディターの再生・一時停止・停止を操作する方法についてです。

スクリプトからエディターの再生・一時停止・停止を操作する

スクリプトからエディターの再生・停止を操作するには EditorApplication.isPlaying を参照して変更します。
また一時停止状態は EditorApplication.isPaused で変更できます。
・再生状態
docs.unity3d.com
・一時停止状態
docs.unity3d.com

サンプルスクリプト

以下のサンプルスクリプトを作成しました。
・PlayControlTest.cs

using UnityEngine;

public class PlayControlTest : MonoBehaviour
{
    /// <summary>
    /// エディターを再生する
    /// </summary>
    [ContextMenu("Play")]
    public void PlayEditorApplication()
    {
#if UNITY_EDITOR
        UnityEditor.EditorApplication.isPlaying = true;
        UnityEditor.EditorApplication.isPaused = false;
#endif
    }
    
    /// <summary>
    /// エディターの再生を一時停止する
    /// </summary>
    [ContextMenu("Pause")]
    public void PauseEditorApplication()
    {
#if UNITY_EDITOR
        UnityEditor.EditorApplication.isPaused = true;
#endif
    }
    
    /// <summary>
    /// エディターの再生を終了する
    /// </summary>
    [ContextMenu("Stop")]
    public void StopEditorApplication()
    {
#if UNITY_EDITOR
        UnityEditor.EditorApplication.isPlaying = false;
#endif
    }
}

コンテンツメニューから各関数を実行して動作を確認します。

再生



一時停止



停止