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年 5月 8日