代码检查:场景在构建设置中被禁用
此检查会检测脚本是否尝试加载已存在于 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年 5月 8日