Unity项目推送GitHub后克隆异常:报错与脚本失效问题及解决
Unity项目Git克隆后命名空间缺失、脚本绑定失效的解决办法
问题重现
我用Unity 2023.2.20f1做了个叫MainProject的项目,用VS Code编辑,推送到GitHub分支合并主分支后,朋友克隆完打不开。我自己在本地新目录克隆主分支测试,打开ClonedProject时Unity直接报错:
- 找不到
TMPro命名空间 UnityEngine.UI命名空间不存在
解决完命名空间问题后,又碰到新麻烦:场景里的脚本全没绑定到对象上,所有参数值全重置成0或者None了。
问题根源与修复步骤
1. 命名空间缺失的修复
一开始就怀疑是.gitignore过滤了必要文件,果然是包配置相关文件被忽略了。要保证以下文件能被推送到仓库:
Packages/manifest.json:记录项目依赖的包(包括TMPro、UI这些内置包)Packages/packages-lock.json:锁定包的具体版本,避免克隆后包版本不一致- 可以取消忽略
Library/PackageCache/,加快克隆后的包加载速度
调整.gitignore后,把这些文件推送到仓库,再克隆就能正常加载命名空间了。
2. 脚本绑定丢失的修复
后来发现是.gitignore里被Visual Studio自动加了*.meta规则!Unity里每个资源(包括脚本、场景、预制体)都对应一个.meta文件,这个文件存着资源的唯一ID,以及脚本绑定、参数值这些关联信息。忽略.meta文件后,克隆的项目根本认不出原来的资源关联,自然就丢了绑定、重置了参数。
直接把.gitignore里的*.meta规则删掉,然后把所有没被跟踪的.meta文件都推送到仓库,再克隆项目测试,脚本绑定和参数值就都正常了。
内容的提问来源于stack exchange,提问作者Sneezy_HD
相关产品推荐
相关产品推荐

