资产风险卡片会汇总项目中的四类问题。没有问题时显示正常;发现问题时显示需处理,并逐项列出数量。点击任意一项的查看详情会生成一份文本报告并用默认编辑器打开,其中列出受影响的资产路径。
四类问题
失效引用:某个资产引用的 GUID 在项目中已不存在,常见于资产被删除、改名后.meta丢失,或协作时文件没有一起提交。表现为 Inspector 中的字段变为 Missing、运行时引用为空。Missing Script:GameObject 上挂载的脚本组件找不到对应脚本,原因与失效引用类似(脚本被删除、.meta变化、所在包未安装)。带着 Missing Script 的对象在运行时会丢失行为。解析失败:文件无法按 Unity 序列化格式解析,常见于损坏的文件或残留合并冲突标记的文件。这些资产无法进入索引,它们的引用关系在搜索与分析中会缺失。GUID 重复:两个文件使用了同一个 GUID,通常来自带着.meta一起复制文件夹,或把包内容直接拷贝进Assets。
为什么跨根目录的 GUID 重复最危险
GUID 是资产在项目中的唯一身份:所有引用都指向 GUID,而不是文件路径。当同一个 GUID 出现在两条路径上时,只有一条路径能生效,另一条会被覆盖。此时项目里所有指向这个 GUID 的引用,实际解析到哪个文件取决于哪条路径「赢了」。 重复发生在Assets 与 Packages 之间时风险最高:两个根目录的导入行为相互独立,包升级、重新导入或换机器打开项目都可能让生效的一方发生变化。引用看起来没改,实际指向的却换成了另一份文件,而且往往没有任何报错。同在 Assets 内的重复相对容易发现,跨根目录的重复则可能潜伏很久。
排查与修复
- 点击对应问题的
查看详情,拿到受影响资产的完整清单。 - 逐项处理:
- 失效引用与 Missing Script:在引用处重新指定目标,或恢复被删除的资产(版本控制里通常能找回,见协作)。
- 解析失败:检查文件是否损坏或残留冲突标记,修复后重新导入。
- GUID 重复:保留一份,删除多余副本;如果两份都需要保留,删除其中一份的
.meta让 Unity 重新生成 GUID,再手动把引用指回正确的目标。
- 处理完成后点击
重新扫描,确认对应计数归零。