Unity-开发微信小游戏初探
目录
Unity 开发微信小游戏初探
前言
最近因项目需要开始研究Unity开发微信小游戏相关的知识。期间遇到各种坑,网上查阅的资料基本类似,无法解决自己遇到的问题。特用本文记录下过程,方便其他人遇到同样的问题时能够参考。
开发环境
Unity 版本 根据微信小游戏插件文档推荐使用2021.2.5版 。实测2021.3.x 以上版本均可使用。
安装 NodeJs 最新长期支持版。
小游戏帐号注册请参考微信官方文档
微信开发者工具(小游戏版)
注意事项
小程序类目设置必须按下图进行设置。

![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4K6sp7Mx-1677573033113)(C:\Users\lontran\AppData\Roaming\Typora\typora-user-images\image-20230228152043356.png)] https://i-blog.csdnimg.cn/blog_migrate/4fe8ad8de0c7ea560e39f2d9c2a30e2c.png](https://i-blog.csdnimg.cn/blog_migrate/4fe8ad8de0c7ea560e39f2d9c2a30e2c.png)
- 否则会出现小程序菜单的->成长中没有能力地图功能。后续的步骤将出现一系列问题。比如用unity微信小游戏插件转换完的程序无法正常导入微信开发者工具。并出现无法编译提示" 未找到 入口 app.json 文件,或者文件读取失败,…“的错误。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PCeFSpnL-1677573033114)(C:\Users\lontran\AppData\Roaming\Typora\typora-user-images\image-20230228152533335.png)] https://i-blog.csdnimg.cn/blog_migrate/188fe509b878ead56a61d778774f98fc.png](https://i-blog.csdnimg.cn/blog_migrate/188fe509b878ead56a61d778774f98fc.png)
- 在小程序->成长->能力地图->生产提效包中开启【高性能模式】和【快适配】功能。如下图
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nxY7TnHi-1677573033114)(C:\Users\lontran\AppData\Roaming\Typora\typora-user-images\image-20230228152119774.png)] https://i-blog.csdnimg.cn/blog_migrate/2b2abf29e03bc81f26ed9cb44e848334.png](https://i-blog.csdnimg.cn/blog_migrate/2b2abf29e03bc81f26ed9cb44e848334.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D4NQaHh2-1677573033114)(C:\Users\lontran\AppData\Roaming\Typora\typora-user-images\image-20230228152214123.png)] https://i-blog.csdnimg.cn/blog_migrate/bee2a03173c087c0e8abfdeefd77df7e.png](https://i-blog.csdnimg.cn/blog_migrate/bee2a03173c087c0e8abfdeefd77df7e.png)
开发步骤
开发Unity游戏
建议先用最简单的示例,来测试转换流程和开发环境是否正确。
安装微信小游戏unity 转换插件
下载插件
在Unity Editor打开的项目中 Project中右键import package->custom package 选择下载的插件。
安装成功后在UnityEditor菜单会看到【微信小游戏】。

编译Unity项目
此步骤不赘述
设置Unity WebGL
Unity Editor中File->Build settings。如下图
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q3s9EfL7-1677573033115)(C:\Users\lontran\AppData\Roaming\Typora\typora-user-images\image-20230228155952307.png)] https://i-blog.csdnimg.cn/blog_migrate/012cc657e7a67f92d1f6a6a816f90101.png](https://i-blog.csdnimg.cn/blog_migrate/012cc657e7a67f92d1f6a6a816f90101.png)
转换微信小游戏
设置如下图。必填项:
- 游戏appid是微信小程序注册时产生的appid
- 小游戏项目名
- 导出路径。转换后的程序存储路径
- 首包资源加载方式。选择小游戏包内(原因目前还没有自己的CDN服务器)
点击导出WebGL并转换为小游戏。进行程序转换
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZKo6M7s2-1677573033115)(C:\Users\lontran\AppData\Roaming\Typora\typora-user-images\image-20230228142519984.png)] https://i-blog.csdnimg.cn/blog_migrate/844a4faba876caa0e0d95d79def1ccf0.png](https://i-blog.csdnimg.cn/blog_migrate/844a4faba876caa0e0d95d79def1ccf0.png)
转换过程可能出现的问题
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vNF7whmd-1677573033116)(C:\Users\lontran\AppData\Roaming\Typora\typora-user-images\image-20230228142715759.png)] https://i-blog.csdnimg.cn/blog_migrate/860422e747f5499cb48644951ac55e61.png](https://i-blog.csdnimg.cn/blog_migrate/860422e747f5499cb48644951ac55e61.png)
- 报错node.exe不存在,首先检查是否安装了Nodejs;如果已安装按下图步骤进行设置。Custom Node Path设置为自己Nodejs的安装路径。

![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K1NHj4cZ-1677573033116)(C:\Users\lontran\AppData\Roaming\Typora\typora-user-images\image-20230228143029833.png)] https://i-blog.csdnimg.cn/blog_migrate/c8b17162d9fe570966de932f7a33bf81.png](https://i-blog.csdnimg.cn/blog_migrate/c8b17162d9fe570966de932f7a33bf81.png)
- 报错 Unity 2021版本使用Embeded Symbols,代码包中含函数名体积较大,发布前请用代码分包工具进行优化。根据错误提示,打开相应源代码,发现只是Unity2021以上版本这个错误一定会出现,不影响后续工作,如果如本人一般的强迫症,可以手工注释掉这行代码。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SAfz0KEq-1677573033117)(C:\Users\lontran\AppData\Roaming\Typora\typora-user-images\image-20230228143328555.png)] https://i-blog.csdnimg.cn/blog_migrate/a8cfb81c8aef5bdc4a398292789b39a9.png](https://i-blog.csdnimg.cn/blog_migrate/a8cfb81c8aef5bdc4a398292789b39a9.png)
微信开发者工具导入项目
在小游戏菜单->目录->选中Unity转换小游戏设置的目录下的Minigame目录。
因为没有云服务器,后端服务选择不使用云服务。确定后就可以正常编译,调试运行自己的小游戏了。
在小游戏菜单->目录->选中Unity转换小游戏设置的目录下的Minigame目录。
因为没有云服务器,后端服务选择不使用云服务。确定后就可以正常编译,调试运行自己的小游戏了。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JqyvfRzJ-1677573033117)(C:\Users\lontran\AppData\Roaming\Typora\typora-user-images\image-20230228143522190.png)] https://i-blog.csdnimg.cn/blog_migrate/345cf2b3e97267b9ca6cc5a9c9181f7c.png](https://i-blog.csdnimg.cn/blog_migrate/345cf2b3e97267b9ca6cc5a9c9181f7c.png)
