版本:Unity 6 (6000.0)
语言英语
  • C#

EditorSceneManager.preventCrossSceneReferences

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。尽管我们无法接受所有提交的内容,但我们确实会阅读用户提出的每项建议性更改,并在适用情况下进行更新。

关闭

提交失败

由于某种原因,无法提交您的建议更改。请在几分钟后重试。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

public static bool preventCrossSceneReferences;

描述

控制编辑器中是否允许跨场景引用。

当你在编辑器中加载了多个场景,并且一个场景中的游戏对象的组件引用了另一个场景中的游戏对象时,就会发生跨场景引用。

此设置的默认值为“true”。这意味着默认情况下,你无法在 Unity 编辑器中创建跨场景引用。

默认情况下禁止跨场景引用,这是因为跨场景引用无法保存在场景文件中。因此,编辑器中禁止创建这些引用,避免在无法保存你的作业的情况下造成潜在的问题。如果你在运行时需要跨场景引用,则需要在运行时创建这些引用 - 通过名称或标记等值查找游戏对象。

但是,在某些情况下,你可能需要在编辑器中创建跨场景引用,尽管这些引用无法保存 - 例如,如果你需要创建一个能够同时对许多场景中的游戏对象进行操作的编辑器脚本。禁用此设置允许你这样做。

但请注意,禁用此值并不意味着将保存跨场景引用。

禁用此设置意味着

1) 允许将来自一个场景的游戏对象的引用拖动到其他场景中不同场景的组件字段。
2) 对象选择器(检查器中大多数可赋值字段旁边的目标图标)列出了所有已打开场景中的选择项,而不仅仅是游戏对象自己的场景。
3) 将游戏对象从一个场景拖动到另一个场景可能导致跨场景引用。在这种情况下,将不再记录警告。