Unity - SerializeReference特性

作用:在编辑器面板上持久序列化一个接口或者抽象类对象

特点:

1.添加SerializeReference后, 即使字段是私有的, 也无需添加SerializeField属性, 二者同有将私有字段序列化的能力.

2.SerializeReference属性允许字段为null, 这点与默认序列化行为不同, 默认序列化会自动实例化一个值

3.添加[field: SerializeField]后, 属性也可以像字段一样被序列化, 但是其label会显示为<属性名>k__BackingField, 如果不希望这种现象,可以将属性转化为完整属性并为对应的私有字段添加SerializeField.

4.SerializeReference还可以修饰ListT[]

用处:

比如当你想要像public int a;一样在Inspector面板持久序列化保存一个接口或者抽象类对象变量数据,或者在ScriptableObject中持久序列化保存接口或者抽象类对象变量数据,这时你就需要为变量添加[SerializeReference]特性

你可能感兴趣的:(Unity,unity,特性)