【UnityEditor拡張】ショートカットでUnityを実行

単純ですが新規プロジェクト作成する際の必須機能

    public static class ShortCut
    {
        /// <summary>
        /// StartUpシーンを起動する
        /// </summary>
        [MenuItem("Tools/ShortCut/Quick Start %Q")]
        public static void QuickStart()
        {
            // 現在のシーンに変更が入っていたら保存するか確認
            if (EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo())
            {
                // 特定シーンを開く : Assetsフォルダからのパス
                EditorSceneManager.OpenScene("Assets/App/Scenes/Startup.unity");

                // 実行
                EditorApplication.ExecuteMenuItem("Edit/Play");
            }
        }
    }

Ctrl + Q を押せば SaveCurrentModifiedScenesIfUserWantsTo で現在開いているシーンを保存するか確認し よければ指定シーンを開いて実行。

Assetsからのファイルパスを書くのがスマートじゃないと感じるのであれば AssetDatabase.FindAssets を利用してみる

   public static class ShortCut
    {
        /// <summary>
        /// StartUpシーンを起動する
        /// </summary>
        [MenuItem("Tools/ShortCut/Quick Start %Q")]
        public static void QuickStart()
        {
            // 現在のシーンに変更が入っていたら保存するか確認
            if (EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo())
            {
                // 特定シーンを開く
                var guid = AssetDatabase.FindAssets("t:Scene Startup").First();
                var filePath = AssetDatabase.GUIDToAssetPath(guid);

                EditorSceneManager.OpenScene(filePath);

                // 実行
                EditorApplication.ExecuteMenuItem("Edit/Play");
            }
        }
    }