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