赞
踩
参考链接:https://github.com/wechat-miniprogram/minigame-unity-webgl-transform?tab=readme-ov-file
Unity 2021.3.15f1c1
Unity 2021.2.5f1c302 wxSDK
HybridCLR 5.0.0
YooAsset 1.5.7
后台配置白名单
这里有一个很重要的点,白名单配置一定要是 https 不能是 http
无论是 微信开发工具、UnityEditor、模拟器和真机调试 都不会进行 域名校验,但是一但到了体验版和正式发布版就会进行。如果没有正确配置 https 域名,在体验版中就会出现
downloadFile:fail url not in domain list
报错
打开 vConsole 工具之后则会成功进入,原因是微信认为你在调试所以又去掉了校验步骤。
微信小游戏注意事项:
不支持同步加载。
不支持资源加密。
不支持多Package
关闭WebGL本地缓存
参考地址
因为微信小游戏平台的特殊性,需要关闭WebGL的缓存系统,使用微信自带的缓存系统。
YooAssets.SetCacheSystemDisableCacheOnWebGL();
注意:一定要禁止微信对资源清单版本文件进行缓存(文件名称样例:PackageManifest_xxx.version)
注意:如果未调用该方法,微信小游戏有内存崩溃的风险!
针对微信对于文件缓存的设置方法看这里:资源缓存
我当前使用YooAssets 所以设置忽略 .version
初始化不能使用 单机运行模式,联机运行模式
只能使用 WebGL运行模式
具体请看:https://www.yooasset.com/docs/guide-runtime/CodeTutorial1
不然会提示:
xception: HostPlayMode can not support WebGL plateform ! Please use WebPlayMode
at YooAsset.ResourcePackage.CheckInitializeParameters (YooAsset.InitializeParameters parameters) [0x00000] in <00000000000000000000000000000000>:0
屏幕信息可以通过 WX.GetSystemInfo(option); 接口获取到
关键是获取到之后如何使用。
适配相关的有3个参数,
SystemInfo.screenWidth
SystemInfo.screenHeight
SystemInfo.safeArea
如下图所示,屏幕坐标和 unity 不同,unity 中 ScreenHeight 是从下到山是 y 正方向,而微信中是 从上到下是 y 正方向。适配时候需要注意换算
1、引擎选择
2、导出设置
转换插件不能勾选 IL2CPP Optimize Size,勾选会导致 自动设置为 Faster (smaller) builds,导致报错。
3、StreamingAssets
Unity 转微信小游戏,使用的事 WebGL 平台,此平台下的StreamingAssets 目录不会随着打包自动进入包体。需要使用动态资源加载 aa、ab、yoo 等等方式加载。
AOT 补充元数据的过程不能再使用离线模式,只能使用正式模式或者直接放入 Resources 中加载,但是要注意放入 Resources 中会增加首包大小。
4、代码里不能使用Thread类,Task.Delay 之类的方法需要换成其他方法,我这里有自己写的 job.make 使用携程替换。
注意:
YooAsset 的同步加载方法LoadAssetSync 也不能用,因为其内部使用了Thread 的方式。
使用后报错:
WaitForAsyncComplete failed ! WebGL platform not support sync load method !
至此所有程序代码在微信开发者工具中正常启动运行,可以上传成功。
5、出现报错,程序遇到错误
打开日志查看:点三次下方的"unity logo"
如果在开发环境下都正常运行,到了体验版本则出现上述错误,则注意检查上传过程,如果上传以后出现提示,xxx.webgl.wasm.code.xxx 未上传
则有可能和博主出现了同样的原因,这个时候重启开发工具再次上传,之前未上传提示消失,则问题解决。
6、关于日志查看
官方日志
如何在真机上进行调试和错误日志排查
方式1:game.js增加代码"wx.setEnableDebug({enableDebug: true})"
方式2:真机环境中,右上角"…“-打开调试-重启小游戏-vconsole
上述方法之后,若启动封面无法打开vconsole, 请点三次下方的"unity logo”
错误日志中的业务代码堆栈分析可参考文档 开发错误调试与排查
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。