跳转到主要内容
资产扫描完成后,「资产」页面的资产风险卡片会汇总项目中的四类问题。没有问题时显示正常;发现问题时显示需处理,并逐项列出数量。点击任意一项的查看详情会生成一份文本报告并用默认编辑器打开,其中列出受影响的资产路径。

四类问题

  • 失效引用:某个资产引用的 GUID 在项目中已不存在,常见于资产被删除、改名后 .meta 丢失,或协作时文件没有一起提交。表现为 Inspector 中的字段变为 Missing、运行时引用为空。
  • Missing Script:GameObject 上挂载的脚本组件找不到对应脚本,原因与失效引用类似(脚本被删除、.meta 变化、所在包未安装)。带着 Missing Script 的对象在运行时会丢失行为。
  • 解析失败:文件无法按 Unity 序列化格式解析,常见于损坏的文件或残留合并冲突标记的文件。这些资产无法进入索引,它们的引用关系在搜索与分析中会缺失。
  • GUID 重复:两个文件使用了同一个 GUID,通常来自带着 .meta 一起复制文件夹,或把包内容直接拷贝进 Assets

为什么跨根目录的 GUID 重复最危险

GUID 是资产在项目中的唯一身份:所有引用都指向 GUID,而不是文件路径。当同一个 GUID 出现在两条路径上时,只有一条路径能生效,另一条会被覆盖。此时项目里所有指向这个 GUID 的引用,实际解析到哪个文件取决于哪条路径「赢了」。 重复发生在 AssetsPackages 之间时风险最高:两个根目录的导入行为相互独立,包升级、重新导入或换机器打开项目都可能让生效的一方发生变化。引用看起来没改,实际指向的却换成了另一份文件,而且往往没有任何报错。同在 Assets 内的重复相对容易发现,跨根目录的重复则可能潜伏很久。

排查与修复

  1. 点击对应问题的查看详情,拿到受影响资产的完整清单。
  2. 逐项处理:
    • 失效引用与 Missing Script:在引用处重新指定目标,或恢复被删除的资产(版本控制里通常能找回,见协作)。
    • 解析失败:检查文件是否损坏或残留冲突标记,修复后重新导入。
    • GUID 重复:保留一份,删除多余副本;如果两份都需要保留,删除其中一份的 .meta 让 Unity 重新生成 GUID,再手动把引用指回正确的目标。
  3. 处理完成后点击重新扫描,确认对应计数归零。
也可以把报告直接交给 Agent 处理,例如在会话中要求「读取重复 GUID 报告,分析每一组的来源并修复」。Agent 能结合引用关系判断哪一份是被实际使用的。