スマゲ

スマートなゲームづくりを目指して日々精進

Unityで好きなシーンからゲームを再生する

Unityでゲームを開発しているとあるシーンをちょっといじってすぐに動作を確認したいときがある

そのときの手順は以下の通り

  • タイトルシーンを探して開く
  • プレイして動作を確認する
  • 元のシーンを開き直す

単純だけど、毎回行うのは結構めんどくさい

ということで特定のシーンを開いて再生までをショートカットで行えるようにした

以下コード

using UnityEngine;
using UnityEditor;
using System.Collections;

public class GameStarter : MonoBehaviour {

    [MenuItem("Tools/PlayGame %0")]
    public static void PlayFromPrelaunchScene()
    {
    
        // プレイ中ならば停止する
        if (EditorApplication.isPlaying == true) {
            EditorApplication.isPlaying = false;
            return;
        }
        
        // 再生したいシーンの読み込み->再生
        EditorApplication.SaveCurrentSceneIfUserWantsTo ();
        EditorApplication.OpenScene ("Assets/Scenes/preTitle.unity");
        EditorApplication.isPlaying = true;
    }
}

上記のコードを書いてAssets/Editor以下に配置する
そうすると、Menu -> Tools -> PlayGame もしくは command + 0 でタイトルシーンからゲームを再生することができる

ただし、再生したあとはタイトルのシーンを読み込んだままになってしまうのでそこは改善点

まとめ
ちょっとずつ無駄を省いていこう!

参考

Unity - Scripting API: EditorApplication