Unity WebGL 微信小游戏适配方案是一个用于将 Unity WebGL 游戏适配到微信小游戏平台的工具包,它以 unitypackage 的形式提供给开发者。导入后,开发者可以通过“微信小游戏”菜单进行相关设置和转换操作。该方案包含三大部分:工具、C#和JS的胶水层以及JS原生代码。其中,开发者主要关注C#和JS的胶水层,因为微信的分享、登录等接口都可以通过调用C#的胶水层代码来实现(排行榜除外,需要单独用JS编写)。
- 工具部分:提供了导出工具,用于将Unity WebGL游戏转换为微信小游戏。在导出过程中,需要注意Mac下的NodeJS授权问题,以及Unity 2019和2021版本的首包加载方式差异。此外,最大内存设置为256MB,这涉及到内存优化问题。
- C#和JS的胶水层:核心代码在WX.cs文件中,注释丰富,便于开发者理解和使用。Unity的SDK API与微信小游戏的JS版本API类似,主要区别在于将JS版中的wx替换为Unity版的WX,并将方法名首字母由小写改为大写。
- JS原生代码:位于WX-WASM-SDK/wechat-default文件夹中,包含微信小游戏的模版代码。开发者一般不需要直接关注这部分代码。
此外,还提供了一个简单的打包工具代码示例,方便开发者通过Jenkins等自动化工具进行打包和导出操作。该工具首先打包AssetBundle(AB),然后生成WebGL版本,并通过调用微信小游戏的导出窗口来完成转换过程。
在使用该适配方案时,开发者需要注意以下几点:
- NodeJS授权:在Mac系统下,需要安装NodeJS(推荐版本16.14.0)以完成授权过程。
- 首包加载方式:Unity 2019版本的首包加载方式可以是CDN或小游戏分包,而Unity 2021版本只能是CDN。其他版本的首包加载方式可能有所不同,需要开发者自行测试确认。
- 内存优化:最大内存设置为256MB,开发者需要根据游戏实际需求进行内存优化,以确保游戏在微信小游戏平台上的流畅运行。
- 导出设置:导出工程中的game.js文件包含了一些可修改的设置项,开发者可以根据需要进行调整。
通过遵循上述步骤和注意事项,开发者可以顺利地将Unity WebGL游戏适配到微信小游戏平台,并借助微信小游戏的庞大用户基础来推广和运营自己的游戏。