この記事でのバージョン
Unity 2022.3.32f1
はじめに
UnityのInputField入力中に、入力を終えようと
Escキーを押したら文字化けした文字が入力されるという現状に遭遇しました。
今回はそんな時の対処法の紹介です!
原因と対処法
調べた感じ、Unityのバグのようで、おそらくMacでのみ起こるみたいでした。
https://discussions.unity.com/t/bug-macos-inputfield-reads-esc-key-as-character/885548
対処法も上記のサイトに載っていて、
InputFieldのInput Field SettingsにあるContent TypeをCustomにし、
Character ValidationをRegexにした後、Regexに以下の文字列を設定すればOKです。
[^\p{Cc}\p{Cn}\p{Cs}]
ちなみにこれはInputFieldに入力された文字を正規表現でチェックし、
エスケープといった制御文字や未定義文字など、
表示する用途じゃない文字が入力されないようにしています。