[Unity] WebGLアプリの読み込みが9割で止まるときの対処

症状

UnityのアプリをWebGLでビルドし、サーバーにアップロードして読み込んでみる。すると、

WebGLの読み込みが90%で止まってしまう

読み込みが9割ぐらいで止まってしまった。「ビルドして実行」を押してローカルで動かすと読み込めるのに……

対処

WebGL Stuck at 90% loading…(Unity公式フォーラム)に対処法が載ってた。

“Disabling compression in the Unity project settings (player settings – publishing settings – compression format – disabled) does the trick”
https://forum.unity.com/threads/webgl-stuck-at-90-loading.532707/#post-6213287

とのことなので、次の方法で解決できる。

  1. 「編集」から「プロジェクト設定」を開く
  2. 左メニューで “Player” をクリック、右側でWebGLの「公開設定」を開く
  3. 「圧縮形式」を「無効」に設定

この方法で読み込みできた。かなりサイズが増えるけど仕方ない。

その他試みたこと

調べたらWebGL – 圧縮ビルドの展開(Unity Documentation)という記事が出てきた。どうやら .htaccessをBuildディレクトリの下に入れる必要があるらしい。
Apacheでサーバーを立てたのでApacheの方法を試してみたが、うまく行かなかった。サーバー側の設定をいじらないといけないらしいがよくわからない。

おまけ

適当なプロジェクトを異なる圧縮形式でWebGLビルドしてみた。

圧縮形式容量ビルド時間
無効55.9MB0:25
Gzip12.6MB0:31
Brotli10.4MB2:19

ビルド時間の兼ね合いを考えるとGzipが一番良さそう。まあGzipで配信できないんですけど……

UnityroomはGzip形式で上げても読み込めるのだろうか? 一回非公開でアップロードして試してみる必要がある。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA