【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メニューを追加し、選択すると指定されたシーンがビルド設定に追加されます。これにより、開発中やビルド時に同じシーン構成を簡単に使用できます。

使用方法

  1. スクリプトの保存: このスクリプトをプロジェクトの Assets/Editor ディレクトリ内に保存します。Editor ディレクトリが存在しない場合は作成してください。
  2. Unityの再起動: (必要に応じて)スクリプトを保存後、Unityエディタを再起動して、メニューに新しい項目が表示されるか確認します。
  3. シーンのロード: メニューバーから「Build Settings/Set Scene Preset」を選びます。

Editorフォルダに保存する理由

Unityでエディタスクリプトを作成する際には、そのスクリプトをEditorフォルダ内に配置することが必要です。これにはいくつかの理由があります:

  1. エディタコードの分離Editorフォルダにスクリプトを置くことで、そのコードがゲームの実行時には含まれないようになります。エディタ専用の機能はゲームビルドに不要なため、この分離が重要です。
  2. ビルドの最適化: エディタ専用スクリプトがゲームビルドに含まれないため、最終的なアプリケーションのサイズを小さく保ち、パフォーマンスを向上させることができます。
  3. エディタ機能の有効化Editorフォルダ内のスクリプトは、Unityエディタが起動している間だけ有効になります。これにより、エディタでのみ機能する特別なツールや機能を作成することが可能です。

Unityプロジェクト内にEditorフォルダが存在しない場合は、新しく作成する必要があります。通常、Assetsフォルダ直下にEditorフォルダを設置します。このフォルダ内に配置されたスクリプトは、Unityのエディタ環境でのみ動作し、ビルドプロセスでは無視されます。

まとめ

これらの方法を利用することで、Unityのマルチシーン開発で必要なシーン構成を素早く設定し、効率的に作業を行うことが可能です。特に、複数のシーンを頻繁に切り替える作業が必要な場合に役立ちます。

Unity

Posted by hidepon