【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"); } } }