(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発したゲームです!

    

エディタ上で再生を開始するSceneを固定する【Unity】【エディタ拡張】


このエントリーをはてなブックマークに追加



この記事でのバージョン
Unity 2017.1.1f1


はじめに

Unityのエディタ上では再生ボタンを押すと、当たり前ですが今開いているシーンが再生されます。


場合によっては開いているシーンとは別のシーン(初期化用シーン等)から常に再生を開始したい!

という事もあるかもしれません。


今回はそんな時に使える方法のご紹介です!


EditorSceneManager.playModeStartScene

エディタ上で再生を開始するSceneを固定する時に使えるのが、

EditorSceneManager.playModeStartSceneです。



使い方はEditorSceneManager.playModeStartSceneにSceneAssetを登録するだけ。

//using UnityEditor.SceneManagement;が必要
//sceneはSceneAsset
EditorSceneManager.playModeStartScene = scene;


そうすると設定したシーンから再生されるようになります。

なお、再生が終了した後は元のシーンに戻り、シーンの変更もそのままです。


f:id:kan_kikuchi:20170930162412g:plain


試しにエディタ上でplayModeStartSceneを設定出来るようにした

SettingStartSceneWindowもご紹介。



SettingStartSceneWindow.csを作成し、Editorディレクトリに入れると

Window -> SettingStartSceneWindowから開く事が出来るようになり、


f:id:kan_kikuchi:20170930162352j:plain


ここにシーンをドラッグ&ドロップするとplayModeStartSceneに登録する事が出来ます。


f:id:kan_kikuchi:20170930163028g:plain


また、固定を解除したい場合はStart Scene(playModeStartScene)にNone(null)を設定します。


f:id:kan_kikuchi:20170930163129g:plain


なお、playModeStartSceneはエディタを閉じるとnullに戻ってしまうので、注意が必要です。


上記の例ではEditorUserSettingsを使ってシーンのパスを保存しているので、

エディタを閉じてもSettingStartSceneWindowが開いていれば、前の設定を引き継げます。



ちなみに、エディタ上でもScenes in Buildの一番上に設定されているシーンから再生する拡張機能や、


f:id:kan_kikuchi:20190205093552g:plain:w700


特定のシーンだけ別のシーンから再生する拡張機能も作りました!

f:id:kan_kikuchi:20190716080453g:plain