UnityプロジェクトWebGLビルドがロード中90%程度で止まる件
現象
UnityのプロジェクトをWebGLビルドしてビルド後のindex.htmlを確認しようとするとロードのプログレスバーが90%で止まる。
どうやらWebGL用に圧縮されたファイルの解凍ができないため
止まっているらしい。
Webサーバー側でその解凍の設定をしてやるか、非圧縮にするか、
Unityプロジェクト側で解凍できるようにしてやるかが選択肢らしい。
サーバー依存は嫌なのでUnityプロジェクト側でなんとかしたい。
解決策
非圧縮にするか、Decompression fallback(圧縮)
Unity Editor 2020.1.4.f1の場合(圧縮)
Edit->Project Settings->Player ->(WebGL)Publishing Settings ->
Compression Format : gzip
Edit->Project Settings->Player ->(WebGL)Publishing Settings ->
Decompression fallback
にチェックを入れる
解凍ツールをビルドに埋め込んでコンテンツを解凍できるようになる。
ファイルの読み込みに若干時間がかかるようになるらしい
Unity Editor 2019.4.11f1の場合(非圧縮)
Edit->Project Settings->Player ->(WebGL)Publishing Settings ->
Compression Format:Disabled
に変更
こちらは全体のファイルサイズは大きくなってるっぽい。
2019.4のUnityEditorにはDecompression fallbackは無いらしい。
これでロードが完了し、ゲームが起動するようになった。
※ビルドサイズの比較については下記の記事で実験した。
※ローカルでWebGLのindex.htmlを確認する方法は↓の記事と一緒でいける。
参考リンク
調べると同様の症状の(90%ロードで止まる)人は結構いるっぽい。
https://a4rcvv.net/unity-loading-webgl-stops/
https://forum.unity.com/threads/webgl-stuck-at-90-loading.532707/#post-6213287