目次
はじめに
UnityでWebGLビルドをした際にInputField
がPCでは機能したのですが、スマホで機能しなかったのでその時とった対処方法です。
前提として、UnItyのWebGLビルドはモバイルデバイスを公式サポートしていません。ですが、いちおう動きます。
環境:Unity2020.3.21
対処1
いろいろ調べて試したのですが、こちらのアセットを使用しました。
kou-yeung氏の「WebGLInput」
https://github.com/kou-yeung/WebGLInput/
プロジェクトに上記パッケージをインポートして「InputField」に「WebGLInput」コンポーネントを追加するだけです。
ただ今回、モバイルでフォーカスした際に文字サイズが異様に大きかったので後述の編集を加えました。
(TextMeshPro-InputField
を使用したからかも?)
対処2
「WebGLInput.cs」を開きます。
OnSelect()
メソッドの一部を編集します。
public void OnSelect()
{
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//var fontSize = Mathf.Max(14, input.fontSize); // limit font size : 14 !!
var fontSize = 20; // 上記コメントアウトして適切のフォントサイズを代入。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
}
補足
ちなみに今回、Unity WebGLのInputFieldを修正したのは「16:9」を計算するこちらのツールです。
あわせて読みたい


【Unity】WebGL – 16:9 解像度計算&早見表
長辺を左側に入力してENTERを押してください。短辺が右側に表示されます。(少数第1位まで) 開発:Unity2020.3.21 WebGL(モバイルで動きますがベータ版扱いです) 16...
あわせて読みたい


猫の気まぐれチャット CatGPT final
猫が気まぐれに返信してくれます。メッセージを送ってみてください。 スマホは現在未対応 Unity ver2021.3. 25 WebGL
参考
白黒羊 | SHIROKUROHITSUJI


WebGLのUnity InputField 日本語入力について | 白黒羊
プレイヤーの名前を入力するときなどに使える「InputField」ですが、WebGLで出力するとデフォルトでは
Unity フォーラム
https://answers.unity.com/questions/1762584/unity-text-input-field-not-working-in-webgl-build.html