c# - UNITY 变量不再在检查器中更新
问题描述
搜索这个问题我发现很多人都有同样的问题,但我找不到一个好的解决方案,甚至找不到它发生的原因。
过去在 VScode 中更新公共变量,然后保存并切换回 Unity 时,该变量会在检查器中自动更新。现在,我的代码的其他更改会自动编译(例如,如果我添加 Debug.Log 语句),但我在代码中明确设置的变量不会导入 Unity;仍将使用旧变量。重置组件将正确更新值,关闭/重新打开 Unity 也是如此。
在我的首选项中设置了自动刷新,并且我已经卸载/重新安装了 Unity 和 VScode。我什至完全删除了它们并重新下载,但我仍然遇到同样的问题。
有谁知道导致此问题的原因或我该如何解决?
提前致谢。
解决方案
当您将某些内容标记为公共或使用属性 [SerializeField] 时,它将被序列化,并且将具有此值,直到您在检查器中更改它为止。序列化变量的目的是在检查器而不是代码中调整其值。如果您仍想将组件设置为默认脚本值,您可以单击组件上的齿轮并将其重置。
推荐阅读
- css - 开玩笑地模拟 css 模块
- batch-file - 原始文件夹中的重复文件
- angular - Angular 5:将应用程序部署到嵌套文件夹下的 IIS
- html - 拒绝获取不安全的标头“x-parse-job-status-id” - AngularJs 和 Parse Server
- c# - 从元素 C# 获取元素内容
- vue.js - 如何在vue中从一个url重定向到另一个url
- vba - 将单元格值传递给 DB2 连接字符串
- jsf - 为什么我的 p:chart 的条形重叠
- android - A在带有 fromHtml 的 TextView 中
- ios - UIMenuItem 未显示在表格中