做了一个unity的小demo,demo是用mirror插件做的联机小游戏,然后我想着打包成webGL更方便一些,结果打包遇到了太多的问题。。。
一.报错Exception: Unity.IL2CPP.Building.BuilderFailedException,下面具体信息里还有你本机用户名是乱码的报错
那是因为编译.IL2CPP的时候,你本机用户的用户名是中文,编译环境识别不了,解决方法就是把用户变量的tmp和temp目标路径改了不要有中文,因为编译的临时文件都在temp文件夹。打包完最好换回去。原来的是%USERPROFILE%\AppData\Local\Temp
![](https://first.your-heart.top/wp-content/uploads/2022/03/QQ图片20220316213022.png)
二.打开出现这样的提示,具体就是本地文件的webgl没法打开
解决方法1:配置自己的浏览器强制打开webgl,具体可以上网查查
解决方法2:放到服务器通过ip或者域名访问就可以了
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200427180000787.png)
三.
WebGL 网络无法直接访问套接字
由于存在安全隐患,JavaScript 代码无法直接访问 IP 套接字来实现网络连接。因此,.NET 网络类(即 System.Net 命名空间中的所有内容,具体而言就是 System.Net.Sockets)在 WebGL 中不起作用。Unity 旧有的 UnityEngine.Network* 类也是如此,以 WebGL 为构建目标时无法使用这些类。
如果需要在 WebGL 中使用网络,当前可选择的做法是使用 Unity 中的 WWW 或 UnityWebRequest 类或使用支持 WebGL 的新型 Unity 网络功能,或者使用 JavaScript 中的 WebSockets 或 WebRTC 来实现您自己的网络。
简而言之,就是接入域名。用域名访问
四.webGL加载到最后,加载不动了
1.压缩形式选Disabled试试
![](https://first.your-heart.top/wp-content/uploads/2022/03/图片-1024x556.png)
2.压缩方式选Gzip,然后在nginx配置文件加入如下配置
![](https://first.your-heart.top/wp-content/uploads/2022/03/PDCLXD45583MZR.png)
五.暂时还未解决
![](https://first.your-heart.top/wp-content/uploads/2022/03/QQ图片20220316213550-1024x484.png)
总结一下:webGL既然放在服务器上,太大的话真的不太合适,webGL最好还是小项目或者做做游戏介绍,然后做联机的webgl这么麻烦,为什么要为难自己那
最后推荐两个mirror的项目。