首页 > 解决方案 > UNITY 变量不再在检查器中更新

问题描述

搜索这个问题我发现很多人都有同样的问题,但我找不到一个好的解决方案,甚至找不到它发生的原因。

过去在 VScode 中更新公共变量,然后保存并切换回 Unity 时,该变量会在检查器中自动更新。现在,我的代码的其他更改会自动编译(例如,如果我添加 Debug.Log 语句),但我在代码中明确设置的变量不会导入 Unity;仍将使用旧变量。重置组件将正确更新值,关闭/重新打开 Unity 也是如此。

在我的首选项中设置了自动刷新,并且我已经卸载/重新安装了 Unity 和 VScode。我什至完全删除了它们并重新下载,但我仍然遇到同样的问题。

有谁知道导致此问题的原因或我该如何解决?

提前致谢。

标签: c#unity3dvisual-studio-code

解决方案


当您将某些内容标记为公共或使用属性 [SerializeField] 时,它将被序列化,并且将具有此值,直到您在检查器中更改它为止。序列化变量的目的是在检查器而不是代码中调整其值。如果您仍想将组件设置为默认脚本值,您可以单击组件上的齿轮并将其重置。


推荐阅读