ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Unity 资源引用机制:FileID 与 GUID 双层结构解析

2026/9/2 5:17:59 拓冰建站 浏览量
Unity 资源引用机制:FileID 与 GUID 双层结构解析 开场小李刚接手一个 Unity 项目,美术把Materials/Stone.mat拖进预制体后觉得命名不够直观,改成了Materials/Stone_V2.mat。小李 pull 完代码打开工程,发现整个 Prefab 里的材质引用全部变成Missing。他打开 .prefab 文件一看,里面的引用长这样:m_Material: {fileID: 2100000, guid: a1b2c3d4e5f6..., type: 2}不是只改了文件名吗?为什么引用全断了?答案藏在 Unity 的FileID + GUID 双层引用机制里——而且真相往往和小李的直觉相反:改文件名本身不会断引用,真正断引用的元凶通常是.meta文件没跟着走。要理清这层因果,得先把两个 ID 各自管什么彻底搞懂。一、两级 ID:一个管"哪份文件",一个管"文件里哪个对象"1.1 GUID:资源文件的全局身份证文件第一次被导入 Unity 时,编辑器会为它生成一个 128 位(32 个十六进制字符)的 GUID,写进同名.meta文件:# Stone.mat 旁边的 Stone.mat.meta fileFormatVersion: 2 guid: a1b2c3d4e5f67890123456789abcdef0 NativeFormatImporter: externalObjects