コードインスペクション:シーンが存在しません
このインスペクションは、スクリプトが現在の Unity プロジェクト内に存在しない名前またはパスを使用してシーンをロードしようとしたときにそれを検出します。 プロジェクト内に存在しないシーンをロードすると、実行時エラーが発生します。
仕組み
インスペクションは、 SceneManager.LoadScene、 SceneManager.LoadSceneAsync、 EditorSceneManager.OpenScene などのシーン管理メソッドへの呼び出しを監視します。 最初の引数を抽出し、それがプロジェクト内の既知のシーンアセットと一致するかどうかを確認します。
アナライザーは、Unity がシーンを参照するさまざまな方法を処理します。
省略名:
"MyScene"相対パス:
"Scenes/MyScene"完全なアセットパス:
"Assets/Scenes/MyScene.unity"
プロジェクトのアセットデータベースに該当シーンが全く見つからない場合、インスペクションは警告を発します。
サンプル
この例では、 "MissingScene" という文字列は、プロジェクトの Assets フォルダー内のどの .unity ファイルとも一致しません。
using UnityEngine;
using UnityEngine.SceneManagement;
public class SceneLoader : MonoBehaviour
{
void Start()
{
// Reported: "MissingScene" does not exist in the project
SceneManager.LoadScene("MissingScene");
}
}
using UnityEngine;
using UnityEngine.SceneManagement;
public class SceneLoader : MonoBehaviour
{
void Start()
{
// "MainMenu" must exist as a .unity file in the project
SceneManager.LoadScene("MainMenu");
}
}
2026 年 6 月 12 日