目录

Unity-开发微信小游戏初探

Unity 开发微信小游戏初探

前言

最近因项目需要开始研究Unity开发微信小游戏相关的知识。期间遇到各种坑,网上查阅的资料基本类似,无法解决自己遇到的问题。特用本文记录下过程,方便其他人遇到同样的问题时能够参考。

开发环境

  1. Unity 版本 根据微信小游戏插件文档推荐使用2021.2.5版 。实测2021.3.x 以上版本均可使用。

  2. 安装 NodeJs 最新长期支持版。

  3. 小游戏帐号注册请参考微信官方文档

  4. 微信开发者工具(小游戏版)

    注意事项

  5. 小程序类目设置必须按下图进行设置。

    https://i-blog.csdnimg.cn/blog_migrate/df393f32a83398c3e0ac9aca3a4528b3.png

https://i-blog.csdnimg.cn/blog_migrate/4fe8ad8de0c7ea560e39f2d9c2a30e2c.png

  1. 否则会出现小程序菜单的->成长中没有能力地图功能。后续的步骤将出现一系列问题。比如用unity微信小游戏插件转换完的程序无法正常导入微信开发者工具。并出现无法编译提示" 未找到 入口 app.json 文件,或者文件读取失败,…“的错误。

https://i-blog.csdnimg.cn/blog_migrate/188fe509b878ead56a61d778774f98fc.png

  1. 在小程序->成长->能力地图->生产提效包中开启【高性能模式】和【快适配】功能。如下图

https://i-blog.csdnimg.cn/blog_migrate/2b2abf29e03bc81f26ed9cb44e848334.png

https://i-blog.csdnimg.cn/blog_migrate/bee2a03173c087c0e8abfdeefd77df7e.png

开发步骤

开发Unity游戏

建议先用最简单的示例,来测试转换流程和开发环境是否正确。

安装微信小游戏unity 转换插件

下载插件

在Unity Editor打开的项目中 Project中右键import package->custom package 选择下载的插件。

安装成功后在UnityEditor菜单会看到【微信小游戏】。

https://i-blog.csdnimg.cn/blog_migrate/991a8b8c48975e8703e3de8e28ee3004.png

编译Unity项目

此步骤不赘述

设置Unity WebGL

Unity Editor中File->Build settings。如下图

https://i-blog.csdnimg.cn/blog_migrate/012cc657e7a67f92d1f6a6a816f90101.png

转换微信小游戏

设置如下图。必填项:

  1. 游戏appid是微信小程序注册时产生的appid
  2. 小游戏项目名
  3. 导出路径。转换后的程序存储路径
  4. 首包资源加载方式。选择小游戏包内(原因目前还没有自己的CDN服务器)

点击导出WebGL并转换为小游戏。进行程序转换

https://i-blog.csdnimg.cn/blog_migrate/844a4faba876caa0e0d95d79def1ccf0.png

转换过程可能出现的问题

https://i-blog.csdnimg.cn/blog_migrate/860422e747f5499cb48644951ac55e61.png

  1. 报错node.exe不存在,首先检查是否安装了Nodejs;如果已安装按下图步骤进行设置。Custom Node Path设置为自己Nodejs的安装路径。

https://i-blog.csdnimg.cn/blog_migrate/b7ac53a43d237f77f9e125475436d211.png

https://i-blog.csdnimg.cn/blog_migrate/c8b17162d9fe570966de932f7a33bf81.png

  1. 报错 Unity 2021版本使用Embeded Symbols,代码包中含函数名体积较大,发布前请用代码分包工具进行优化。根据错误提示,打开相应源代码,发现只是Unity2021以上版本这个错误一定会出现,不影响后续工作,如果如本人一般的强迫症,可以手工注释掉这行代码。

https://i-blog.csdnimg.cn/blog_migrate/a8cfb81c8aef5bdc4a398292789b39a9.png

微信开发者工具导入项目

在小游戏菜单->目录->选中Unity转换小游戏设置的目录下的Minigame目录。

因为没有云服务器,后端服务选择不使用云服务。确定后就可以正常编译,调试运行自己的小游戏了。

在小游戏菜单->目录->选中Unity转换小游戏设置的目录下的Minigame目录。

因为没有云服务器,后端服务选择不使用云服务。确定后就可以正常编译,调试运行自己的小游戏了。

https://i-blog.csdnimg.cn/blog_migrate/345cf2b3e97267b9ca6cc5a9c9181f7c.png