Unity ScriptableObject 数据被重置Bug记录



问题起因:

当项目使用Odin + ScriptableObject 的方式 可视化存储配置的时候


🧨 问题机制详解:Prefab 嵌入 ScriptableObject

如果项目中有Prefab引用了


🔸 现象:

你把某个 ScriptableObject 拖到了 Prefab 的 Inspector 字段上

Unity 可能复制一份内部副本进了 prefab(不是引用外部 .asset 文件)

所以你改的 .asset 实际没被引用,运行时读取的是 prefab 内部那份!

🔸 导致:

项目一重新导入 / 重编译 / prefab 被还原

prefab 中那份“内嵌版本”替换掉你在磁盘上看到的外部文件值


解决办法:

用XGames的 资源加载器去加载Bundle 保证内存实例只有一份  或者Resources加载



Unity Shader 笔记

Unity SpineManager 系统设计文档

评 论