UnityroomでWebGLのゲームをSafariで読み込む時にエラーが出ることへの対処方法の提案
急ぎの結論
TextMeshProではなくTextを使えば大丈夫になるかも?
暫定的なものであり、詳しく調べたわけではありませんが、試す価値はあると思います。
経緯
バージョン2020.3.25f1で製作したゲームをバージョン2021.3.22f1でリメイクし、再びUnityroomに投稿しようとしていたが、途中段階を製作仲間と共有する際に限定公開でUnityroomにアップロードしたところ、iPhoneからプレイできないことが発覚した。
症状
・iPhoneのSafari(ios16.3, ios15.4)からプレイしようとすると、読み込み画面でエラーが出てプレイできない。
・同じくiPhoneのChromeからも同じタイミングでエラーが出る
・PC(mac)からは問題なく遊べる
試してダメだったこと
・https://note.com/crispy2d/n/naf0422d83d83 の方法を試す
・WebGL設定から使用メモリを変更する
原因を調べた
どうやらTextMeshProの日本語を含むフォントがあるとダメらしい
試しにText(Regacy)だけを置いたゲームを作って投稿したところ、問題なく読み込みができた。
が、これをTextMeshProに置き換え、日本語が表示できるようにフォントアセットを生成、「あいうえお」と表示すると、iPhoneでは読み込みができなかったできないことがある。
(4/15追記)
端末によっては読み込める。iPhone8では動かないが、より新しい端末だと動くこともあった。(これが原因かはわからない)
また、TMProのTextの数を増やすにつれて読み込みできないことが多くなった。もしかしたら、これがiPhoneでは重たい動作なのかもしれない。
暫定的な結論
日本語を表示させる場合、TextMeshProではなくTextを使えば大丈夫になるかも?
TextMeshProのフォントに日本語を含めないようにするといいかも?
この記事が気に入ったらサポートをしてみませんか?