### [[Unity编辑器扩展基础总结] 第5章 序列化对象 SerializedObject](链接)

#### 第5章　序列化对象 SerializedObject

###### https://www.cnblogs.com/ppne/p/14752941.html


### 笔记
#### SerializedObject:
##### 作用: 
	资源文件的序列化和反序列化
	可以链接一个数组,多个对象使用同一个SerializedObject
##### 运行：
	继承Mono,ScriptableObject,Editor,EditorWindow
	会为对象生成SerializedObject,生成对象会在内部缓存
	所以如果两个不同位置使用同一个对象,应使用Update更新对象,使用ApplyModifiedPropertiyin应用这个对象的更改

创建资源时,会先创建SerializedOject, 这个对象再创建Object和.meta

#### Object
	资源文件,一般为二进制或者yaml文件,记录文件序列化信息

#### .meta
	记录文件导入相关信息

我们也可以使用UnityEditorInternal命名空间中的**InternalEditorUtility.SaveToSerializedFileAndForget**将UnityEngine.Object另存为资源。

#### Q：
	AssetDataBase.Load()到底是序列化作用，还是从内存中找到GameObject对应的SerializedObject？
	反射命中对象到底是SerializedObject还是GameObject
![[Pasted image 20221025121100.png]]
	当脚本Load出来的时候会自动反序列化