代码检查:冗余的属性使用(冗余的 'FormerlySerializedAs' 属性)
[FormerlySerializedAs] 属性用于通知 Unity 某字段以前用不同名称进行序列化,便于进行版本管理和重命名代码。
此检查会高亮显示属性的冗余用法,并提供快速修复以移除冗余属性。 如果出现以下情况,则属性的使用被视为冗余:
它被应用于未序列化的字段。 这可能是因为该字段声明于非 Unity 类型(如不继承自
MonoBehaviour),或该字段未被序列化(如private或使用[NonSerialized]标记)。属性参数中指定的旧名称与字段的当前名称相同。 例如。
// Marked as redundant as the names are the same [FormerlySerializedAs("position")] public int position;
请参阅 FormerlySerializedAsAttribute 的文档,以及 Unity 官方博客的功能介绍文章。
2026年 5月 8日