
一个看似自相矛盾的地方如果你读过关于 UnityLibrary/文件夹的介绍,很可能同时听过这两句话:“Library/里的内容跟机器、平台相关,所以别提交到 Git。”“团队可以用 Cache Server / Accelerator 共享Library/,加速资源导入。”把它们摆在一起,一个问题就冒出来了:既然它"跟机器、平台相关",那别人的机器拿过去还能用吗?如果能共享,凭什么又说它机器相关?这两句话看起来直接打架。而当你顺着这个矛盾往下挖,会挖到一个比 Unity 本身重要得多的概念——确定性(determinism)。它是"缓存为什么能共享"这件事的地基,不只对 Unity 成立,对几乎所有现代构建系统都成立。这篇就从这个矛盾出发,一路讲到那块地基。破题:那句"机器相关",本身就说得太糙了矛盾的根源,其实是"Library/跟机器相关"这句话本身不够精确。它把Library/当成了铁板一块,但实际上,这个文件夹里装着两类性质完全不同的东西。一旦把它们分开,矛盾当场消失:Library/ ├── 第一类:资源导入产物(Import Artifacts) │ png → G