🕹️

[Unity, InputSystem] WebGLでスティックの上下操作が効かなくなった時の対処法

に公開

問題点

Unity で InputSystem を使ってコントローラー操作を実装していた時に、エディタ上では正しく動作するのに、WebGL ビルドをした際にスティックの上下操作が効かなくなってしまいました。
ただ上下操作が効かないだけではなく、スティックの左右操作やコントローラー十字ボタンでの操作は正常に動作していました。

対処法

この現象の原因は、以下のようにVector2InputActionにおいて、コントローラーのスティックをバインディングする際にCompositeを使っていることにありました。

以下の画像のように、本来、Left Stick[Gamepad]をバインディングするだけでいいのに、Compositeを使用したバインディングをしてしまっていました。


間違ったバインディング

以下の画像のように、Compositeを使用せずに、Left Stick[Gamepad]をバインディングすることで、WebGL ビルドでも正常に動作するようになりました。


正しいバインディング

キーボードの場合は、WASD や矢印キーをCompositeでバインディングする必要がありますが、コントローラーのスティックはCompositeを使用しないようにしましょう。

GitHubで編集を提案

Discussion