コールバック
IwashiIME での入力完了時(OK押下時)に、特定の処理を実行するためのイベント設定について解説します。
イベントの設定方法
KeyboardOpener コンポーネントには、入力完了時のコールバックイベントが用意されています。
他の uGUI コンポーネント(Button の OnClick など)と同様に、Inspector 上で UnityEvent<string> 形式で登録が可能です。

既存イベントの自動移行機能
既存の InputField や TMP_InputField に設定済みのイベントは、手動で KeyboardOpener に移し替える必要はありません。
IwashiIME は、シーン再生時(またはビルド時)に、対象の InputField に設定されているイベントを検出し、自動的に KeyboardOpener のイベントとして取り込みます。
移行対象となるイベント
コンポーネントの種類によって、移行されるイベントが異なります。
| コンポーネント | 移行されるイベント | 備考 |
|---|---|---|
| InputField (標準) | OnSubmit | OnEndEdit は移行されません。 |
| TMP_InputField | OnEndEdit |
IwashiIME のイベント移行ルールは、基本的に VRChat 標準キーボードの挙動に準拠 しています。
-
InputField (標準): VRChat 標準キーボードにおいても、入力完了時に実行されるのは
OnSubmitであり、OnEndEditは実行されません。本アセットもこの挙動に合わせているため、OnSubmitのみを使用します。 -
TMP_InputField: 現在、VRChat 側の不具合により、標準キーボードでは
OnEndEditが発火しない(入力完了イベントを受け取る手段がない)状態となっています。 IwashiIME ではOnEndEditをサポートしているためイベントは正常に動作しますが、標準キーボード利用時にはイベントが起きない 点にご注意ください。
イベントの実行順序
移行されたイベントは、以下の順序で実行されます。
KeyboardOpenerに直接設定したイベント- 元の
InputField/TMP_InputFieldから移行されたイベント
この「移動」処理が行われるため、実行中(Play Mode)に InputField 側のイベント設定を見ると空になっていますが、これは 正常な挙動 です。
元々のイベントは KeyboardOpener 側に引き継がれて実行されますのでご安心ください。