Unity编辑器更新频率是真的快,然而很多教程里的工程又没有及时更新到最新版本的编辑器,用新版本编辑器打开老版本的工程需要进行升级,而有些时候升级过程会出问题,轻则Unity会crash,重则电脑直接重启,令人非常苦恼。
为了能让工程运行起来,我想到有两种方法: 第一种就是下载工程所对应的老版本Unity编辑器,另一种就是用我目前已安装的Unity编辑器新建工程,然后将教程里的Assets资源倒入到新工程中。
第一种方法,由于网络不稳定而且慢(家里200M宽带,访问Unity网站是慢的跟蜗牛似的),以及电脑硬盘空间比较珍贵,直接放弃。
那么我只能尝试第二种方法。 1.根据旧工程的特点,创建合适的新工程(2D,3D,HDRP,Universal等等) 2.将旧工程里的Assets文件夹里的内容全部拷贝到新工程的Assets文件夹中 3.打开新工程 理论上应该可以打开工程。这样就可以了吗? 事情没这边简单,我们忘了一个非常重要的步骤,那就是Packages/manifest.json。这个文件是整个工程的依赖配置文件。
4.我们使用文本编辑器打开这个文件看一下,大致了解一下需要安装哪些package。
5.接下来我们点击Unity工具栏的Window>Package Manager,安装好所有依赖包。注意,不能简单按照manifest.json的文件里的顺序安装所有package,因为那里列出来的package是展开依赖关系后的扁平化的package列表。应该找到最上层的package包来安装。那么怎么判断哪些是上层的package呢,你可以在Package Manager里搜索package,然后点击它,在右侧看看Dependencies里它所依赖的包,需要点耐心。
有一个小提醒,有些包目前只有preview版本的,在搜索时,可能搜不到,此时你需要改一下设置,显示preview版的packages,如下图:
安装好所有的package后,可以尝试运行一下工程。观察一下有没有什么错误。 注意看这里:
下图就是我在升级某个工程是碰到的脚本相关的错误和警告:
大部分时候,这里会有很多warning和error。大部分都是工程所依赖的package升级后,代码相关的warning和error。优先处理error,逐个解决之。你离成功非常接近了。
还有一些问题可能需要修改Scene里面的一些GameObject或者Component的设置,有些可能是Scene里引用到的Prefab的设置,你可以慢慢解决。
目前我碰到的一些问题有:
1
.
Render Pipeline变化,Shader变化,需要修改某些Materials的Shader。比如有些老版本的Shader被废弃了,那么你必须重新给它选择一个可以替代老版本Shader的新Shader
2
.
部分Experimental的API变成正式API
3
.
部分方法被废弃,需要用新API替换它
可能还有很多我没有逐一记录下来,或者不是很重要的小问题。
现在你可以慢慢把玩这个工程啦。
这里我把我升级后的工程放到Github上,
AngryBots_ECS_up
,有需要的小伙伴,可以去看看。工程目前可以正常运行,但是还有一些细节没调整好,你们感兴趣的话也可以再完善一下。
这篇文章到这里就结束了,下一篇是在升级很多项目后我自己的一些总结,希望对和我有一样问题的小伙伴有帮助。
1772

被折叠的 条评论
为什么被折叠?



