【Unity】Unity エディタでのシーン管理拡張ツール(Build SettingsのScenes In Buildへの自動登録)
Unityにおいて、特定のシーン構成を「プリセット」として保存し、簡単にアクセスできるようにするための方法を詳しく説明します。この方法は、エディタースクリプトを使って、ビルド設定にシーンを登録することにより実現されます。
実行中の様子
Scenes In Build追加用カスタムメニューの作成
シーンのプリセットを利用する別の方法として、EditorBuildSettings.scenes
を使用して、特定のシーン構成をビルド設定に登録する方法があります。以下のスクリプトはその設定を行います。
基本サンプル
using UnityEngine;
using UnityEditor;
public class BuildSettingsSceneSetter : MonoBehaviour
{
[MenuItem("Build Settings/Set Scene Preset")]
private static void SetScenePreset()
{
var scenes = new EditorBuildSettingsScene[]
{
new EditorBuildSettingsScene("Assets/Scenes/MainScene.unity", true),
new EditorBuildSettingsScene("Assets/Scenes/UIScene.unity", true),
};
EditorBuildSettings.scenes = scenes;
}
}
上記「実行中の様子ビデオ」でのサンプル
using UnityEngine;
using UnityEditor;
public class BuildSettingsSceneSetter : MonoBehaviour
{
[MenuItem("Build Settings/Set Scene Preset")]
private static void SetScenePreset()
{
var scenes = new EditorBuildSettingsScene[]
{
new EditorBuildSettingsScene("Assets/Scenes/MainScene.unity", true),
new EditorBuildSettingsScene("Assets/Scenes/UIScene.unity", true),
};
EditorBuildSettings.scenes = scenes;
}
}
スクリプトの機能
このスクリプトはBuild Settings/Set Scene Preset
メニューを追加し、選択すると指定されたシーンがビルド設定に追加されます。これにより、開発中やビルド時に同じシーン構成を簡単に使用できます。
使用方法
- スクリプトの保存: このスクリプトをプロジェクトの
Assets/Editor
ディレクトリ内に保存します。Editor
ディレクトリが存在しない場合は作成してください。 - Unityの再起動: (必要に応じて)スクリプトを保存後、Unityエディタを再起動して、メニューに新しい項目が表示されるか確認します。
- シーンのロード: メニューバーから「
B
uild Settings/Set Scene Preset
」を選びます。
Editorフォルダに保存する理由
Unityでエディタスクリプトを作成する際には、そのスクリプトをEditor
フォルダ内に配置することが必要です。これにはいくつかの理由があります:
- エディタコードの分離:
Editor
フォルダにスクリプトを置くことで、そのコードがゲームの実行時には含まれないようになります。エディタ専用の機能はゲームビルドに不要なため、この分離が重要です。 - ビルドの最適化: エディタ専用スクリプトがゲームビルドに含まれないため、最終的なアプリケーションのサイズを小さく保ち、パフォーマンスを向上させることができます。
- エディタ機能の有効化:
Editor
フォルダ内のスクリプトは、Unityエディタが起動している間だけ有効になります。これにより、エディタでのみ機能する特別なツールや機能を作成することが可能です。
Unityプロジェクト内にEditor
フォルダが存在しない場合は、新しく作成する必要があります。通常、Assets
フォルダ直下にEditor
フォルダを設置します。このフォルダ内に配置されたスクリプトは、Unityのエディタ環境でのみ動作し、ビルドプロセスでは無視されます。
まとめ
これらの方法を利用することで、Unityのマルチシーン開発で必要なシーン構成を素早く設定し、効率的に作業を行うことが可能です。特に、複数のシーンを頻繁に切り替える作業が必要な場合に役立ちます。
ディスカッション
コメント一覧
まだ、コメントがありません