コードインスペクション:ビルド設定でシーンが無効化されています
このインスペクションは、スクリプトが Unity プロジェクトに存在し、ビルド設定に追加されているが、現在無効になっている (チェックされていない) シーンを読み込もうとしたときにそれを検出します。
実行時に無効化されたシーンをロードすると、Unity の最終ビルドには有効化されたシーンのみが含まれるため、エラーが発生します。
仕組み
インスペクションは、 SceneManager.LoadScene、 SceneManager.LoadSceneAsync、 EditorSceneManager.OpenScene などのシーン管理メソッドへの呼び出しを監視します。
シーン名またはパス引数を分析し、それが文字列リテラルであることを確認します。 次に、 ビルド設定 内のシーンリストと照合します。 シーンがリストに見つかったものの、そのチェックボックスがオフ(無効)になっている場合、インスペクションは警告を発します。
サンプル
この例では、 "Level2" が ビルド設定内にあるが、現在は無効になっていると仮定します。
using UnityEngine.SceneManagement;
public class SceneLoader : MonoBehaviour
{
void Start()
{
// Reported: Scene 'Level2' is disabled in build settings.
SceneManager.LoadScene("Level2");
}
}
using UnityEngine.SceneManagement;
public class SceneLoader : MonoBehaviour
{
void Start()
{
// "MainMenu" is enabled in Build Settings.
SceneManager.LoadScene("MainMenu");
}
}
クイックフィックス
このインスペクションは、コードエディターから直接シーンを有効にできるクイックフィックスを提供します。 EditorBuildSettings.asset ファイルを探し出し、シーンパスに一致するエントリを変更して、そのステータスを有効に設定します。
2026 年 6 月 12 日