Unity WebGLを設置したページでInputタグが入力を受け付けなくなる

 
Inputタグを使ってブラウザのJSとUnity WebGLの通信をしようとしたところ、入力フィールドがキーボード入力を受け付けなくなったので対処法を調べてみました(onkeydownなどは反応するようです)。

対処:WebGLInput.captureAllKeyboardInput=falseを設定する

デフォルトではこの設定がTrueになっており、フォーカスに関係なくWebGL Canvasがキーボードの入力を全て受けとるようになっているので、これを無効にします。

単品で使うとWebGL build以外でエラーが出てしまうので、下記のスタイルで使うといいようです。

Code (csharp):
#if !UNITY_EDITOR && UNITY_WEBGL
WebGLInput.captureAllKeyboardInput = false;
#endif

 

▼公式Forum
https://forum.unity.com/threads/input-field-in-webpage-not-working-with-unity-webgl-in-page.316016/

▼Unityスクリプトリファレンス
WebGLInput.captureAllKeyboardInput