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

时间:2019-03-03 23:01:16

标签: c# unity3d visual-studio-code

在搜索此问题时,我已经看到很多人都遇到了同样的问题,但是我找不到很好的解决方案,甚至无法解释为什么会发生这种情况。

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

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

有人知道导致此问题的原因或如何解决此问题吗?

先谢谢了。

1 个答案:

答案 0 :(得分:2)

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