この記事でのバージョン
Unity 2018.2.17f1
はじめに
Unityのエディタ上で再生ボタンを押すと、当たり前ですが今開いているシーンが再生されます。
今回はエディタ上でもScenes in Buildの一番上に設定されているシーン、
つまり実機上で最初に再生されるシーンから再生を開始する方法の紹介です。
(以下の場合だとLoadシーンから毎回再生が始まる)
イメージとしては以下のような感じ。
なお、再生を終了すると再生前に開いていたシーンに戻ります。
ちなみに以前にも似たような感じで、最初のシーンを固定するエディタ拡張を作ってました。
常に最初のシーンを固定する場合は前ので良いんですが、
適宜切り替えたい場合は今回の方法の方が楽だと思います。
EditorPlayer
さっそくコードです!
詳細は省きますが、EditorBuildSettings.scenes[0]を使ってシーンを取得し、
EditorSceneManager.playModeStartSceneにそれを登録することで最初に再生されるようにしています。
これをEditorフォルダに入れれば、
上部のメニューにTools/PlayFromFirstSceneが表示されるようになり、
これを押すと、Scenes in Buildの一番上に登録されているシーンから再生を開始します。
なお、普通の再生ボタンを押せば、通常通りに開いているシーンから再生を開始します。
ちなみに、シーンが1つも登録されていない場合はエラーを出すようにしています。
また、以下のような感じで好きなシーンから始められるメニューを追加する事も簡単に出来ます。
[MenuItem("Tools/PlayFromTitleScene")] private static void PlayFromTitleScene() { //最初に再生したいシーンがある場所のパスを拡張子付きで指定(Scenes in Buildに含まれていなくてもOK) Play("Assets/Scenes/Title.unity"); }
余談ですが、ショートカットを付ける事でさらなる効率化が図れるかもしれません。
/// <summary> /// Scenes in Buildの一番上に登録されているシーンから再生を開始する(Shift + Alt + sキーを押しても実行される) /// </summary> [MenuItem("Tools/PlayFromFirstScene #&s+")] private static void PlayFromFirstScene() {