> ## Documentation Index
> Fetch the complete documentation index at: https://unity.farlocus.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 资产健康

> 识别失效引用、Missing Script、解析失败与 GUID 重复，并给出排查与修复思路

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

## 四类问题

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

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

GUID 是资产在项目中的唯一身份：所有引用都指向 GUID，而不是文件路径。当同一个 GUID 出现在两条路径上时，只有一条路径能生效，另一条会被覆盖。此时项目里所有指向这个 GUID 的引用，实际解析到哪个文件取决于哪条路径「赢了」。

重复发生在 `Assets` 与 `Packages` 之间时风险最高：两个根目录的导入行为相互独立，包升级、重新导入或换机器打开项目都可能让生效的一方发生变化。引用看起来没改，实际指向的却换成了另一份文件，而且往往没有任何报错。同在 `Assets` 内的重复相对容易发现，跨根目录的重复则可能潜伏很久。

## 排查与修复

1. 点击对应问题的`查看详情`，拿到受影响资产的完整清单。
2. 逐项处理：
   * 失效引用与 Missing Script：在引用处重新指定目标，或恢复被删除的资产（版本控制里通常能找回，见[协作](/collaboration/index)）。
   * 解析失败：检查文件是否损坏或残留冲突标记，修复后重新导入。
   * GUID 重复：保留一份，删除多余副本；如果两份都需要保留，删除其中一份的 `.meta` 让 Unity 重新生成 GUID，再手动把引用指回正确的目标。
3. 处理完成后点击`重新扫描`，确认对应计数归零。

也可以把报告直接交给 Agent 处理，例如在会话中要求「读取重复 GUID 报告，分析每一组的来源并修复」。Agent 能结合引用关系判断哪一份是被实际使用的。
