这个问题现在大约有 2 年了(对我来说)。目前的答案是:做不到。
我正在使用git
,但我相信这并不取决于您使用的是哪一个,即使它是 Asset Server。
库重建可能需要几分钟甚至几小时,这取决于 Unity 认为它需要工作多少。
虽然这不是一个关键问题(它不会停止工作流程),但它仍然很大。由于这个问题,我们没有完全使用 git。回到历史中回到旧的提交是不切实际的,甚至简单地更改并行分支也可能成为一场噩梦。所以我们总是避免这样做,除非它很关键。
有很多事情会触发库重建,这里有一些已知的:
- 触摸文件。这里不用多说。触摸的次数越多,花费的时间就越多。
- 在 Unity 之外移动/重命名文件。如果它们是视频文件,则特别引人注目。
- 在 git 中保留时间戳是不够的。至少在我能做到的方式上。
- 每当我们在一台新机器上结账时——这将添加一个额外的库重建,因为最终必须将构建平台设置更改回 Android 或其他任何东西。
问题就在标题中:如何防止图书馆继续这样重建自己?
至于一些看似合理的预期但无效的答案......
如果我同时提交库,它将无法正常工作,因为即使只是在打开 Unity 之前签出旧提交并返回相同的提交,也会触发库重建。
称为“缓存服务器”的“图书馆网络缓存”并不能解决任何这些问题。有时,它确实使它更快,特别是在检查新机器时。但这还远远谈不上好。它仍然可能需要几个小时。