概要
using System.Linq; using UnityEditor; [InitializeOnLoad] public static class Example { static Example() { EditorBuildSettings.sceneListChanged += OnChanged; } private static void OnChanged() { var scenes = EditorBuildSettings.scenes; EditorBuildSettings.scenes = scenes .OrderBy( c => c.path.StartsWith( "Assets/Scenes/Test/" ) ) .ToArray() ; } }
例えば上記のようなエディタ拡張を作成すると
「Assets/Scenes/Test/」フォルダ以下のシーンを Scenes In Build のリストに追加する時に
自動でリストの末尾に追加されるようになります
例えばリリースビルド時はテストシーンを除外する、といったことをする際に
テストシーンがリスト内に散在していると、
テストシーン除外後に Build Index がズレて正常にシーン遷移できなくなることがあります
上記のようなエディタ拡張を作ることで、そのような問題を回避することができます