小游戏 Q&A
小游戏 Q&A
1. 小程序/小游戏有时下载不到资源?
请添加下列域名至平台白名单:
https://a.unity.cnhttps://a.unity3dcloud.cnhttps://a2.unity3dcloud.cnhttps://a3.unity3dcloud.cn
2. 为什么我的 Unity Instant Game Package (AutoStreaming) / CDN Package 会提示 "Unauthenticated: missing or invalid credentials"?
请在 Package 配置中的 Secret 填入的是 App Service Secret :
3. 下载游戏资源时提示404下载失败?
3.1. 没有正确配置微信小游戏导出参数
原因:在「微信小游戏转换工具面板」的「基本信息->游戏资源CDN」一栏,没有正确填写游戏资源CDN根目录。
解决办法:使用AutoStreaming自动填充,其余情况需填写。可以在对应「Bucket->RELEASES」下选择「路径模式」,复制到「游戏资源CDN」一栏。
3.2. 更改了 Texture/Mesh/Audio/Animation 的 onDemandDownload 设置,在 Scene Streaming 页面重新点击「Generate ABs」后,运行游戏依旧有404的链接
原因: Texture/Mesh/Audio/Animation 的 onDemandDownload 设置在 2021.2.5f1c30x 和 2019.4.29f1c110 版本中未加入AB打包变动检查,因此只修改 onDemandDownload 设置的情况下,需要重新打包AB。
解决办法:修改 Texture/Mesh/Audio/Animation 的 onDemandDownload 设置后,Scene Streaming 页面勾选 Force Rebuild 后再点「Generate ABs」。如果是工程自有的AB文件,打包AB时,请添加 BuildAssetBundleOptions.ForceRebuildAssetBundle 选项,不使用增量打包。
3.3. 打包微信小游戏后测试正常,在「AutoStreaming -> Cfg&Publish」点击「lock」后,出现访问404
原因:该问题出现在 Instantgame package 1.0.6 及之前的版本中。微信小游戏打包上传后会自动文件到 UOS CDN, 如果打包前「AutoStreaming -> Cfg&Publish」页面已处于打开状态,则点击「lock」使用的是过时的CDN信息,导致 Badge 和 Release 对应关系出错。
解决办法:
- 在 UOS官网 后台将badge重新指回正确的release.
- 更新 Instantgame package 到最新的版本。
- 使用 Instantgame package 1.0.6 之前的版本,点击「lock」前先点一下「refresh」按钮刷新CDN信息。
3.4. 使用团结引擎打包小游戏,运行时出现大量404的错误。404 URL 中出现类似 ".../Library/Artifacts/5a/5a06fda4*****" 的地址

原因: 在微信小游戏平台启用 Player in browser 功能,开启了 Instant Assets 开关。
解决办法:在「Project Settings/Editor」页面关闭 Instant Assets 选项后,重新打包小游戏。该问题在最新的团结引擎版本已修复。
3.5. 使用 AutoStreaming 后,运行时报错 "66b76bf45c65a57bcc05b59eedf85d96" 这个文件下载失败
原因:"66b76bf45c65a57bcc05b59eedf85d96" 这个AB是场景共用资源所在的一个AB, Scene Streaming 页面点击「Generate ABs」时生成,生成位置在项目的 "\Library\AutoStreamingCache\SceneABs" 目录。团结改名后,AutoStreaming 内部筛选逻辑未正常修改,导致 tuanjie_builtin_extra 显示在了右侧的 SharedAssets 页面,可能被勾选到。该问题在最新版本的团结引擎上已修复。
解决办法:
- Scene Streaming 页面右侧的 SharedAssets 页面取消勾选 tuanjie_builtin_extra
- 使用最新版本的团结引擎。
3.6. 使用 AutoStreaming 打包后,运行时游戏内纹理模糊,大量纹理相关abas文件报404错误。UOS 后台找不到相关的abas文件
原因:
- 忘记点击「Texture Streaming」页面的 「Generate Assetbundles」。
- AutoStreaming 页面操作前,未先切换到打包平台(微信小游戏/webgl)。
解决办法:确认已处于目标平台后,在 Texture Streaming 页面点击「Generate Assetbundles」,在 SceneStreaming 页面勾选 forcerebuild, 点击「Generate ABs」。然后重新打包小游戏。
3.7. 小游戏在微信开发者工具内正常运行,手机上运行时,无法进入游戏,报资源下载失败,404的错误
原因:微信小游戏为安全考虑,会限制网络访问的域名。因此访问网络需要设置白名单。
解决办法:
- 测试版本,请点开手机右上角三个小点,找到并打开「开发调试->打开调试」,打开调试后,不会检查网络域名。
- 发布版本,请在 微信公众平台 扫码登录,然后前往「开发管理-> 开发设置 -> 服务器域名」,在 request合法域名 和 downloadFile合法域名 中填写用到的域名。
4. 小游戏打包后 Shader 报错 "shader compiler 9/5 is not available in shader blob"?

原因:微信小游戏打包页面和工程 Player Setting 里面都有 webgl 1.0/2.0 的设置,打包前,Player Settings 内的设置会被微信SDK修改。但如果Shader是在此之前打包进AB的,则项目实际使用的图形API和AB中Shader的图形API不一致。
解决办法:先确认两处 Webgl 1.0/2.0 设置正确,然后重新打包所有AB(Scene Streaming AB, 工程自有AB), 并重新打包小游戏。
5. 使用团结打包安卓apk或者 Native InstantGame, Gradle 报错 "style/UnityThemeSelector not found" ?
原因:团结引擎中的 UnityThemeSelector 已改名为 TuanjieThemeSelector
解决办法:工程内用到的 AndroidManifest.xml 文件内需要做对应的修改。
6.小游戏使用 AutoStreaming 如何管理非游戏资源 (游戏中使用到的文件,如视频,服务器配置文件等)
使用 AutoStreaming 时如需要手动上传的文件时可以采用如下方法进行操作:
- 引擎在工程的根目录提供了一个 CustomCloudAssets 目录。
- 开发者在打包小游戏前,应将这些文件拷贝到 CustomCloudAssets 目录下,它们随后会一起上传到 UOS CDN。
- 该目录下的文件将在点击 Auto Streaming -> Cfg & Publish -> Upload to UOS CDN 时随其他资源文件一起上传到 UOS CDN,
详细AutoStreaming的使用方法可以参考 AutoStreaming 文件上传和下载