Unity WebGL 删除 “Unity Webgl is not currently supported on mobiles”

1、Unity2019需要在打包后的文件 Build/UnityLoader.js 里修改代码

UnityLoader.SystemInfo.mobile //替换成false
["Edge", "Firefox", "Chrome", "Safari"].indexOf(UnityLoader.SystemInfo.browser) == -1 //替换成false

可以写个Editor来动态修改,避免每次都要手动修改(网上直接搜的,那个文件没有排版,实在是不想研究 ╮(╯▽╰)╭ )

public class PostBuildHandler{
    [PostProcessBuild]
    public static void OnPostProcessBuild(BuildTarget target, string targetPath){
        if (target!=BuildTarget.WebGL) return;
        var path=Path.Combine(targetPath, "Build/UnityLoader.js");
        var text=File.ReadAllText(path);
        text=text.Replace("UnityLoader.SystemInfo.mobile","false");
        text=text.Replace("[\"Edge\",\"Firefox\",\"Chrome\",\"Safari\"].indexOf(UnityLoader.SystemInfo.browser) == -1", "false");//注意字符串中的空格
        File.WriteAllText(path,text);
    }
}

2、如果是2021或更高版本,直接在 index.html 里把移动端检测并警告那段代码注掉就行了

注意:不同Unity版本,使用的WebGL模板写法是不一样的,有些公司会自己设计一个loading页,不使用官方模板,注意切换工程版本时提前看好,不要忙目升级工程,毕竟大部分Unity工程师不是对h5开发不是很了解。

参考模板路径:
D:\UnityVersion\2019.4.40f1c1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\WebGLTemplates

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值