/
材质的Shader,或者GameObject组件的Monobehavior,在开发过程中可能会删掉一个Shader的Property或者代码的序列化参数。
这些参数被删除后,材质或者GameObject Prefab文件中,该参数的序列化数据并未被删除。
比如下图中名为TestGetDependency的组件。参数 testSubject已经从代码中删除。
但是这个GameObject的Prefab文件中,testSubject记录仍然存在。
这样会导致使用类似AssetDataBase.GetDependencies之类方法获得资源依赖时,取得testSubject 引用的物体,导致打包时包入不需要的资源。
用脚本扫描SerializedObject的方式是可以清除这些引用的,但是这样需要对应每一种类似情况单独写脚本(当前只想到Shader对应材质,代码文件对应Prefab)ÿ