UUG杭州站 | Unity小游戏宿主
PPT下载地址:https://u3d.sharepoint.cn/:b:/s/UnityChinaResources/Ee_aolTKYVZOswPCQiC_P3kBLLruA1RE2exsKW8g-aweUA?e=2qcNS42025年4月12日,在Unity User Group(UUG)杭州站活动上,Unity中国技术总监顾申华带来了《Unity小游戏宿主》主题演讲。大家下午好!我接下来将
PPT下载地址:https://u3d.sharepoint.cn/:b:/s/UnityChinaResources/Ee_aolTKYVZOswPCQiC_P3kBLLruA1RE2exsKW8g-aweUA?e=2qcNS4
2025年4月12日,在Unity User Group(UUG)杭州站活动上,Unity中国技术总监顾申华带来了《Unity小游戏宿主》主题演讲。
大家下午好!我接下来将花20分钟的时间跟大家讲两件事情:一是介绍Unity小游戏宿主是什么,它有哪些功能亮点;二是作为小游戏或者游戏的开发者,为什么这件事情对我这么重要,我应该如何使用Unity小游戏宿主。
小游戏宿主是什么?
首先小游戏宿主是什么?它是一个客户端的SDK,包括服务端API和一个管理后台。应用开发者可以快速集成,运行小游戏,从而实现用户的时长增长,进而实现小游戏的商业变现。这就是Unity小游戏宿主的核心功能。
它有什么样的技术优势和功能亮点?
Unity小游戏宿主支持多平台,现在已经支持安卓和iOS平台,同时PC和OpenHarmony、HarmonyOS NEXT也在规划中。
虽然叫做Unity小游戏宿主,但它实际上支持多引擎,市面上主流的游戏引擎,如团结引擎、Unity、COCOS、LAYABOX和Egret,都可以完美支持。当然,我们对Unity和团结的支持会更好。
小游戏宿主还可以兼容微信生态。我们完全兼容微信API,开发者可以快速导入微信小游戏程序包,直接在Unity小游戏宿主上运行。我们的测试团队也做了大量的工作来保证兼容性,确保了前100+的微信游戏都可以顺利在小游戏宿主上运行。
接下来是性能优化。我们的架构是最先进的架构,在安卓上,以V8引擎+Native API的形式来实现。V8引擎用来运行游戏的业务逻辑,包括JavaScript和WebAssembly(WASM)。像基础能力,文件、网络、渲染声音等,是通过Native API实现。
在iOS上会有点复杂,由于系统不允许内嵌浏览器进程之外的进程可以有JIT(Just-In-Time)即时编译的能力。所以在这里,我们把V8替换成了WebKit,游戏直接跑在内嵌浏览器里,来运行游戏的JavaScript和WASM。剩下的部分基础能力,比如文件、网络、声音则通过进程间的调用,由宿主APP的进程去实现。渲染能力还是通过内嵌的浏览器来提供支持,我们把这个称之为iOS的高性能模式。
在此基础上,我们还增加了一个进阶的“高性能+”模式。简单来说就是把渲染能力从浏览器的进程里迁移到了宿主APP的进程,由宿主通过跨进程间调用的方式来实现。这样有两个好处:第一,渲染能力已经不在WebKit进程里,因此WebKit进程的内存会减少,从而减少它被系统杀死的概率,增加稳定性。第二,我们有机会实现除了WebGL这个标准API之外的更高级的图形渲染API,比如Metal的渲染能力,可以极大地降低渲染的功耗。
除了架构上的优化,我们还提供WASM分包方案。WASM分包方案是一个后处理,通过动态采集的方式识别出一个代码包里面有多少函数真正被调用过,有多少函数没有被调用过,然后把这个游戏包分成两份。下载时只下载核心部分,剩下部分原则上无需下载,除非采集过程中有不充分,导致有些地方要按需加载。这会带来很多好处,一个是加载时间快;另一个是代码占用的内存少了,大量不用的代码不会加载,因此直接提高了在iOS上面的运行稳定性。
除了SDK,我们还提供后台管理。它包括应用管理以及小游戏管理。作为应用开发者,可以在后台新建应用、关联游戏、查看数据;作为游戏开发者,可以新建游戏、上传游戏包、分包管理、上/下架管理以及查看游戏的运行数据。
除了后台管理,开发者文档也非常重要。我们的Unity小游戏宿主有一个完整的开发者文档,让大家更方便地了解小游戏宿主。这里包括了如何做应用集成、引擎适配、API Reference内容,同时提供SDK下载和各种各样的Demo工程。
以上就是Unity小游戏宿主的技术优势和功能亮点。
如何使用小游戏宿主?
接下来,作为一个游戏开发者,该如何使用Unity小游戏宿主?
简单来说只需要四步:
第一步,打包。如果大家用的是团结引擎,直接在Build Target里面就可以打包。如果是Unity引擎,就要下载小游戏宿主的Unity Package,再通过Build Target打包。如果是其他引擎,我们提供了转换工具,可以把已有的游戏包直接转换成可以在宿主上运行的游戏包。
第二步,上传。我们用浏览器打开minihost.tuanjie.cn,登录你的UnityID,就可以新建小游戏,上传你的游戏包。
第三步,扫码测试。对每个游戏包,我们都可以生成一个二维码,通过Unity Connect App进行扫码测试。
那么,什么是Unity Connect App?
它是一个Unity官方的开发者社区APP,可以在社区官网(https://developer.unity.cn/connectApp/download)下载。大家用它进行扫码登录、查看社区文章以及教程等。现在Unity Connect App通过集成Unity小游戏宿主的SDK,快速拥有了运行小游戏的能力,因此它现在成为了一个小游戏宿主的样板间,同时也是小游戏开发者的开发调试工具。
具体有哪些开发调试的功能?
第一,性能面板,通过它可以看到运行时的基础数据;
第二,vConsole面板,通过它可以看到运行时产生的日志;
如果你的游戏包在引擎里打开了CPU Profiling,可以做CPU的Profile。在游戏运营时点击开始录制、结束录制,就可以导出一个文件。
通过Chrome Inspector,可以查看它的火焰图调用的堆栈,查到里面每个方法的耗时,找到性能的瓶颈。如果游戏是用团结引擎制作,小游戏宿主可以直联团结引擎,在团结引擎的Profiler面板里面实时查看运行数据。
同时小游戏宿主的时间戳精度非常高,我们可以做到毫秒级别以下的函数耗时的观察。
小游戏宿主也可以直连团结引擎的Frame Debugger,从而在游戏过程中的任意时刻抓取一帧,看这一帧所有渲染的指令,然后做渲染层面的单步调试。
此外C#Debugger也很重要,我们在小游戏宿主当中,特别把C#Debugger打开了,大家可以直接设C#的断点,然后做单点调试。
当然我们也支持传统Chrome Inspector的远程调试功能,通过合理的设置,可以把小游戏宿主和Chrome Inspector进行连接。
这样就可以做JavaScript和WASM级别的代码调试和单步跟踪,以及所有网络请求日志,都可以在里面体现出来。
大家通过Unity Connect App扫码测试会产生大量测试数据,这时可以在我们的管理后台查看游戏的运行数据,包括加载的启动性能、运行性能(帧率、CPU等),以及网络性能、网络耗时。
为什么小游戏宿主很重要?
如果能走到这一步,恭喜已经超越了99%的用户。但是还差最后一步,也是最关键的一步,回答了刚才的问题“为什么小游戏宿主对游戏开发者这么重要?”因为可以联系我们!
我们会对游戏做评估,也可以提出各种优化建议,但是更重要的是我们可以帮助开发者们分发小游戏到所有集成了小游戏宿主的应用当中。在这个环节,Unity小游戏宿主是一个中间的支点,我们通过与更多的游戏开发者一起努力,让更多游戏上架到小游戏宿主,从而形成一个游戏库。另外,我们通过与应用开发者一起努力,让小游戏宿主集成到更多应用当中,形成一个流量池。最终就可以把更多的游戏分发到更多的应用渠道中,从而降低变现成本,提高变现效率。
要想完成这个目标,除了我们自身要保证Unity小游戏宿主核心功能的强大和领先,还需要在座一起努力。我们期待您的加入,提交更多的游戏,一起打造多元的小游戏生态,打破行业壁垒、流量壁垒,让小游戏无处不在。
谢谢大家!
更多推荐
所有评论(0)