ゲーム開発

【Unity】エディタのシーン切り替えを便利にする「Shortcuts Manager」の活用術

Unity 2019 で追加された Shortcuts Manager を活用してますか?
→こちらの記事で紹介しました。

この機能は既存メニューのショートカットキーを編集できるのはもちろん、独自に拡張したメニューにもショートカットキーを割り当てることができます。これを活用すると作業中のシーン切り替えを便利にするシーンランチャー機能を作ることができます。

このようにLauncherメニューを作っておくと、シーン切り替えが驚くほど楽になります。
大量のシーンが存在する大きなプロジェクトでは該当シーンを探すのも大変です。
キャラクタービューアやマップビューアなど、ランタイムでデータを確認するためのツールシーンをいくつか作ることもあるでしょう。

(例) 担当者ごとの異なるショートカット登録
・マップデザイナーはマップビューアをF1に登録している
・キャラクターデザイナーはキャラクタービューアをF1に登録している
・プログラマはマップビューアをF1、キャラクタービューアをF2に登録している

このようにシーンの切り替えを各自で最適化できることには大きな意味があります。
あなたのプロジェクトが毎回Projectビューからシーンを探して開くのに3秒以上かかっているなら、頼れるプログラマにお願いしてLauncherメニューを作ってもらいましょう。

スクリプトを用意する

Launcherメニューの対象になるシーンを呼び出すためのスクリプトを用意してください。
以下のように1つのクラスにまとめておくと、対応するシーンをメンテナンスしやすいです。

using UnityEditor;
using UnityEditor.SceneManagement;

public static class SceneLauncher
{
	[MenuItem("Launcher/GameScene", priority = 0)]
	public static void OpenGameScene()
	{
		EditorSceneManager.OpenScene("Assets/Scenes/GameScene.unity", OpenSceneMode.Single);
	}

	[MenuItem("Launcher/SampleScene", priority = 0)]
	public static void OpenSampleScene()
	{
		EditorSceneManager.OpenScene("Assets/Scenes/SampleScene.unity", OpenSceneMode.Single);
	}

	[MenuItem("Launcher/TitleScene", priority = 0)]
	public static void OpenTitleScene()
	{
		EditorSceneManager.OpenScene("Assets/Scenes/TitleScene.unity", OpenSceneMode.Single);
	}
}

Shortcuts Managerでショートカットキーを割り当てる

Launcherメニューが現れました。
これでメニューからシーンを切り替えることができるようになりました。

よく使うシーンをショートカットに登録しましょう。
Unityのメニューから Edit → Shortcuts を選んでください。
“Launcher”を検索して該当メニューに好きなショートカットキーを割り当てましょう。
キーアサインが被ってる場合は警告してくれるので、被ってないキーを割り当ててください。

これでLauncherメニューの各項目がショートカットできるようになりました!
テンキーもショートカットキーに使用できますが、メニューにはうまく表示されません。
私はCtrl+テンキーをショートカットによく使うので、Unityさん、早く表示対応して欲しいです。

たくさんのシーンを行き来する人ほど欠かせない便利機能の1つになるはずです!
大量のシーンから該当シーンを探すのに苦労しているようなら検討してみてください。

タイトルとURLをコピーしました