最近做的一个项目,导入了一款插件 但是不论是开发时,还是发布window项目,皆没有问题 就是发布WebGL时报错了 不贴图了,大概就是il2cpp.exe did not run properly之类
发布不成功
看了网上N多帖子,各种方法总结如下:
- 发布的路径不要带有非ascii字符,即纯英文数字字符,对于咱们而言就是路径中不要有中文
- 发布路径与项目同级
- 把项目拷到c盘,发布也到C盘
- 删除项目下Library/il2cp_cache,再发布
- 除了上述第4步以外,还要删除Library/webgl_cache,再发布
- 发布之前,进入player settings,设置Api Compatbility Level为.Net 2.0,而不是subset
- 如上图,找到你的Unity安装路径,找到 unity安装路径/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/emscripten.config 修改 --stack_size=1024 默认如下图为8192 之后再发布
- 综合上述全做,再发布,期间重启个电脑什么的
好像还有其它的说法,但记不清了。以前我曾经的一次发布WebGL项目时,也报错了,用上述的方法2就解决了,即同一级目录
但这次,上述的方法全用了,也依然报错。 Win10x64 Unity5.6.2 Unity2017.3 这两个版本的Unity都试了,不行。 而其间,我也试了新建空项目,直接发布WebGL到同一个指定的目录中,就成功了,但我做的那个项目,只要是导入了那款插件就发布不成功。
最后用Unity2018.2.6,还是报错,但报的错不一样了,看到希望了。于是再用上述方法6,即修改player settings里的Api Compatbility Level为.Net 2.0,再发布 OK,发布成功。
查了大量的资料,而Unity官方的工程师在一些帖子里也承认,发布WebGL的确存在着不少的Bug,Unity也一直在努力修复这些Bug。
只能说上述的8个方法应该都可能管用,只是要针对不同的问题以及不同的Unity版本。