从Git中排除Unity项目的Library文件夹导致场景丢失。

7
我已经按照这里的指导完成了为Git存储库准备Unity项目的所有推荐步骤:Unity Git - Ignore Library。我正确地设置了.gitignore文件等。
然而,当我在另一台机器上克隆我的新创建的Git仓库时,我发现我的场景、资源等都不见了,脚本似乎还在。
我注意到,当我复制Library文件夹时,缺失的东西(场景、资源)就回来了。
我猜测,在Library文件夹中有些东西是不能被忽略的,或者“将资源强制转换为文本”的功能可能无法正常工作。
我正在使用Unity 5.3.5f1。
我对Unity/Git等还比较陌生,所以我可能忽略了一些显而易见的事情,但我已经按照所有建议的方向进行了操作。
非常感谢您的帮助。

1
我完全同意。每个人都说可以忽略Library文件夹,但是如果这样做,项目就会出问题! - Tower Jimmy
3个回答

3

2

我遇到了与Unity 2020.3相同的问题。

一些研究表明,需要文件LastSceneManagerSetup.txtCurrentLayout-default.dwlt来保存场景。对于游戏窗口、游戏视图和UI,则需要EditorSnapSettings.assetEditorUserBuildSettings.asset

也许我错过了其他设置,所以我将文件保存在Library根目录中,并用/[Ll]ibrary/替换了:

/[Ll]ibrary/APIUpdater/
/[Ll]ibrary/Artifacts/
/[Ll]ibrary/BuildPlayerData/
/[Ll]ibrary/PackageCache/
/[Ll]ibrary/PackageManager/
/[Ll]ibrary/PlayerDataCache/
/[Ll]ibrary/ScriptAssemblies/
/[Ll]ibrary/ShaderCache/
/[Ll]ibrary/StateCache/
/[Ll]ibrary/TempArtifacts/
/[Ll]ibrary/UIElements/

1

场景并没有完全丢失,你可以从Assets/Scenes中简单地加载它们。然而,它们在场景层次结构中的原始顺序已经丢失。

我做了比Jimmy更多的测试,并发现来自Library的唯一必需品是StateCache文件夹和LastSceneManagerSetup.txt文件(在我的情况下小于2 kB)。位于Library文件夹中的其他所有内容都可以安全删除。

保存这两个文件:

  • StateCache/
  • LastSceneManagerSetup.txt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接