UNITY变量不再在检查员中更新

问题描述 投票:1回答:1

搜索这个问题我已经看到很多人遇到了同样的问题,但我找不到一个好的解决方案,甚至找不到它为什么会发生的解释。

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

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

有谁知道导致这个问题的原因或我如何解决它?

提前致谢。

c# unity3d visual-studio-code
1个回答
2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.