Unity与腾讯G6携手共建LiveCoding实时编程方案
移动端手机游戏的开发者往往面临着:在Unity中完成开发的游戏,在上线的时候,由于开发环境和运行环境的差异,导致众多BUG的产生,这被众多开发团队戏称为“版本之夜”。
在移动游戏上线的时候,开发团队往往需要大量时间等待资源打包、安装、一次次的验证版本。由于在手机上调试环境缺失,出现的问题难以进行定位,获得移动客户端上的运行日志,更是难上加难。
虽然使用动态脚本能够减轻一些版本发布遇见的问题,但是没有代码检查工具,没有智能代码提示,开发人员往往难以调试,维护和重构。Lua脚本开发也没有像Visual Assist一样好用的开发环境。
为了解决这些问题,针对“迭代效率”的痛点,腾讯游戏云服务的部门下的G6 Team,与Unity大中华区的开发工程师一起携手,共建LiveCoding实时编程方案和G6IDE。
LiveCoding
LiveCoding是一套面向移动端开发的实时编程方案,使用LiveCoding实时编程方案,移动端不需要用户重新安装游戏,仅重启游戏即可生效。
LiveCoding主要由Lua脚本的实时热加载系统,C#代码变更后推送手机和资源快速打包验证的能力三部分组成。
开发期间,对于Lua代码的修改,实时可在手机验证,无需重启游戏。
开发期间,对于C#代码的修改,无需安装,一键编译DLL并发布,5秒到达,重启游戏即可生效。
对于资源的修改,所有的预制件,无需安装,一键打包资源到目标平台,重启游戏即可生效。
下面是详细功能介绍:
Lua代码的更新
保存运行时状态的更新
提供保持状态的Lua Hotfix ,包括: 沙盒加载,Upvalue保持,函数替换等
遍历运行环境,支持外部保存的Delegate的替换
实时监测脚本变化,使用USB推送至手机并通知Hotfix
C#的更新
开发期间的C#代码更新方案
单独编译C#代码,快速生成DLL,无APK生成,无需安装
编码方式无改变,一键更新手机并自动重启游戏
采用了Unity最新的Scriptable Build Pipeline
资源的更新
开发期更新单个资源
支持着色器,材质的修改,便于验证各个平台的表现
预制件的修改,便于修改配置,逻辑,适配等
按需打包,按需更新,使用方式无感知,一键更新并自动重启游戏
采用了Unity最新的Addressable Assets
G6IDE
为提升开发效率,游戏开发中,我们推荐以Lua脚本为第一语言来开发业务逻辑,遇到性能相关的逻辑时使用C#或C++。为解决Lua脚本一直以来的诟病,G6团队开发了G6IDE,致力于成为功能最完善的Lua IDE。
G6IDE具有以下特点:
代码智能感知
基于语法分析,实时错误提示
智能代码提示,定义跳转
支持查找所有引用,支持重构时重命名
调试功能
支持Editor调试,支持手机端的调试
支持条件断点,监控查看表达式
支持调试任一联网终端(DebugAnyWhere)
支持重定向日志到IDE,抓取终端文件,发布脚本等
独创的类型注解功能,支持泛型
内嵌Unity符号表
产品试用
了解了LiveCoding实时编程方案和G6IDE,你是否希望对产品进行试用呢?
G6IDE已开始接受试用申请,你可以添加微信公众号:腾讯G6游戏开发平台,登记申请使用。由于LiveCoding涉及Unity引擎修改,需要等待Unity新引擎版本的发布,敬请期待。
小结
我们即将迈入2019年,Unity和G6 Team进行进行紧密合作,对LiveCoding实时编程方案提供更多的功能,助力中国区的开发者,提升Unity环境下的开发效率和质量。
关注LiveCoding实时编程方案和G6IDE,请添加微信公众号:腾讯G6游戏开发平台。我们会定期更新最新的进展情况。
更多Unity最新信息,请访问Unity官方中文论坛(UnityChina.cn) !
推荐阅读
老上海风情建筑高清美术资源包,限时7折热销 (最后2天促销)
官方活动
2019年5月10日-12日上海,Unite大会强势回归。 暖冬特惠票正式开售,购票即获指定Asset Store资源商店精品21款资源的5折优惠券。[了解详情...]
购票链接:
http://UniteShanghai2019.bagevent.com
Asset Store资源商店扫货末班车(最后2天)
2018年末,我们准备了最后一辆扫货末班车,133个顶级好评资源,限时5折特惠出售!
活动时间:截至2019年1月1日
活动链接:
https://assetstore.unity.com/search?q=on_sale:yes
点击“阅读原文”访问Unity官方中文论坛