まえがき
スクリプトとエラーメッセージを見せれば、大抵の問題は解決できるChatGPTだが、たまに壁に当たることがある。
今回がそのパターンで、以下のエラーメッセージに対して、ChatGPTは歯が立たなかった。
コンソール
InvalidOperationException: You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings.
UnityEngine.Input.GetKeyDown (UnityEngine.KeyCode key) (略)
yyy.Update () (at Assets/Scripts/xxxScene/yyy.cs:104)
これは、UnityでOpenXR開発をしていて、キーボード入力を追加しようとしたときに吐いたエラー。
解決方法
入力に使うInput ManagerとInput System Packageが混在していると起きるようだ。
理想は新しいInput System Packageで全て書くことかもしれないが、面倒なので、以下の設定をして、両方対応させた。
プロジェクトセッティング→プレイヤー→Active Input Handingを選択。
ここをBoth(両方)に変更すると、どちらも使えるようになる。尚、この時にプロジェクトが再起動するので注意。