UnityScript到C#转换工具
UnityScript是Unity中类似于JavaScript的脚本语言.我们在2017年8月发布了公告:我们将逐步弃用UnityScript,仅保留C#作为Unity脚本编程语言。
在弃用的过程中,我们首先开发了UnityScript到C#的转换工具。然后,我们把新建UnityScript脚本的菜单选项移到了Legacy菜单下。
下载转换工具
如果你还有使用UnityScript开发的旧项目,你可以使用UnityScript到C#的转换工具进行转换。
下载UnityScript到C#的转换工具:
https://github.com/Unity-Technologies/unityscript2csharp
我们收集了大量关于转换工具的反馈并修复了一些问题,下面是部分通过反馈对转换工具进行的改进:
支持保留原始脚本的注释
引入编辑器集成包以简化使用过程
改进对大量UnityScript构造的支持
在Unity 2018.2中,我们完全移除了新建UnityScript脚本的选项。现在,转换工具功能完整且足够稳定,可以为所有仍使用UnityScript的项目提供帮助。
转换过程
在开始转换过程前,请确保你的项目在Unity 2018.1上进行构建,保证项目中所有测试都能通过。
在点击菜单Tools->Convert UnityScript to C#,运行转换工具。如果需要控制转换过程使用的参数,你可以通过命令行运行转换工具,但需要注意,额外的灵活度将伴随着额外的复杂度。
下面的视频展示转换旧版Angry Bots项目的过程。该视频的目的只在于演示,因此我们把首次在Unity 2018.1打开项目时造成编译错误的代码都注释掉了。
转换的基本过程如下:
备份项目
在Unity 2018.1打开项目
如果有API更新工具的请求,请接受并修复剩余错误
确保播放器在每个目标平台都成功构建
确保所有相关测试都能通过,同时要在实际设备上运行项目
安装最新编辑器集成包
清空编辑器Console
运行转换工具
修复运行相关测试时的剩余问题
注意事项:
取决于项目所使用的API,第9步不一定要执行,但在Angry Bots示例中,我们需要修复部分API的使用。
如果项目面向多个平台,则需要为每个目标平台重复执行第8步,方法是在运行转换工具前选择平台,然后手动合并转换代码,将转换代码相应地和条件代码包装起来。这也是该工具的限制,这种情况下,你可能要在每次转换后使用VCS来恢复项目状态。
参考资料
转换工具是开源的,你可以下载源代码并进行查看,请随时提供任何修复或改进,下面是关于转换工具的参考资料。
查看转换工具使用限制:
https://github.com/Unity-Technologies/unityscript2csharp#limitations
了解如何在编辑器安装资源包:
https://github.com/Unity-Technologies/unityscript2csharp/releases
小结
如果转换工具无法满足你的需求,你可以在Asset Store资源商店寻找其它资源。如果你需要该工具的相关帮助,请在Unity官方论坛中提出,我们会尽可能提供帮助。
UnityScript转换工具论坛帖:
https://forum.unity.com/threads/unityscript-2-csharp-conversion-tool.487753/
更多Unity最新信息,尽在Unity官方中文论坛(UnityChina.cn)!
推荐阅读
官方活动
2019年5月10日-12日上海,Unite大会强势回归。 暖冬特惠票正式开售,购票即获指定Asset Store资源商店精品21款资源的5折优惠券。[了解详情...]
购票链接:
http://UniteShanghai2019.bagevent.com
Unity全球学生开发挑战赛火热进行中(最后一个月)
Unity面向全球的学生推出-Unity全球学生开发挑战赛,寻找全世界最具创意,展现自我的学生开发者团队。[了解详情...]
活动地址:
https://connect.unity.com/challenges/gsc2018
点击“阅读原文”访问Unity官方中文论坛