从Unity4.x到Unity2021.x及UnityScript到C#的转换

打开尘封的项目代码,满满的回忆.把它们升级到最新的Unity2021.x吧.因为现在Unity不支持UnityScript即js了.所以要升级旧版本Unity项目,尤其使用JS开发的项目,要转换程序语言,还是要费点周折.

首先码齐一些列版本,每个大版本号均安装一份,因为旧版本在macOS上无法正常运行,所以只能使用在Windows的版本,安装好Unity4.x/Unity5.x/Unity2017.x/Unity2018.x/Unity2020.x/Unity2021.x等.每个大版本安装最新的小版本就可以.但是Unity2018.x要安装2018.1.x(含)之前的版本,因为之后就不再支持UnityScript了.

安装完成后就就将项目从Unity4.x开始升级打开,每个版本打开后如果有脚本错误就就进行适当的修正,直到升级到Unity2018.*先停下来.确保项目可以正常Play,无脚本错误.每个版本升级完成后都建议进行备份,以防某版本失败时不至于从头再来.

接下来要做的是将UnityScript转换为C#,徒手编写是可以的,当然这有点可怕.Unity官方提供了转换工具,到Unity的github上下载(https://github.com/Unity-Technologies/unityscript2csharp),是个Unity Package,将它导入到当前项目中,为了能让转换结果达到最好,建议在UnityScript中”#pragma strict “让原有的代码更严谨.正常情况下在Unity的菜单中可以找到”Tools/Convert Project from UnityScript to C#”,点击执行,等待转换完毕,js文件都将自动增加*.old后缀,项目中的js都将产生同名c#文件,并且所有引用都会对应更新.查看是否有新的代码错误,如有进行相应的修正.如项目转换正常,可以去资源管理器中搜索”*.js.old”全部删除即可.

过了这一步就简单了,继续用Unity2019.x等新版本逐版打开升级项目.直到升级到最新版.每个升级有错误都要及时修正,比如插件不兼容等.

好了,就写到这里,回见.

参考链接:https://blog.unity.com/technology/unityscript-to-c-conversion-tool

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注