ReSharper 2026.1 Help

コードインスペクション:シーンが存在しません

このインスペクションは、スクリプトが現在の Unity プロジェクト内に存在しない名前またはパスを使用してシーンをロードしようとしたときにそれを検出します。 プロジェクト内に存在しないシーンをロードすると、実行時エラーが発生します。

仕組み

インスペクションは、 SceneManager.LoadSceneSceneManager.LoadSceneAsyncEditorSceneManager.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 日