*RawInput プラグインは、通常、フライト スティックやハンドルなどの Microsoft の XInput API が適切に処理しない特定のユーザー定義のデバイスをサポートします。入力デバイスのボタンと軸は、プラグイン自体で作成された新規入力も含むゲームプレイ入力にカスタム マッピングすることができます。
RawInput を有効にする
デフォルトでプラグインは無効になっています。[Plugins] メニューの [Input Devices] セクションで有効にすることができます。

プラグインが有効になったら、[Project Settings] メニューに [Raw Input] セクションが表示されます。

デバイスの設定
このセクションでは新規デバイスを追加します。各デバイスはベンダー ID とプロダクト ID によって特定されます。これらは、16 進数値であり、デバイスのドライバーのプロパティにあります。軸 (デフォルトで 8) とボタン (デフォルトで 12) の配列がコントローラーの設定に加えられます。これにより、任意のコントローラーの軸やボタン (配列のインデックスで示されるもの) を Unreal Engine の軸やキーにマッピングすることができます。このプラグインには 8 個の新しい軸 ("Generic USB Controller Axis 1" から "Generic USB Controller Axis 8" まで) と 20 個の新しいボタン ("Generic USB Controller Button 1" から "Generic USB Controller Button 20" まで) があります。それぞれの軸やボタンを有効または無効にすることができます。軸も反転、オフセットすることができます。

上の図は、Logitech G920 の Windows のコントロール パネルのデバイス マネージャのハードウェア ID 情報です。Vendor ID は、 "VID_" に続く 4 つの文字列です (046D) 。Product ID は "PID_" に続く 4 つの文字列です(C262)。この情報は、RawInput でデバイスを設定する場合に必要になります。
サンプル (Vehicle テンプレート)
例として、Unreal Engine に同梱される Vehicle テンプレートが Logitech G920 で機能するように設定しました。Logitech G920 は、ハンドルとアクセル ペダルとブレーキ ペダルを備えたドライブ ゲーム コントローラーです。
RawInput でデバイスを設定する
ハンドルはデバイス ドライバーで Axis 1、ブレーキは Axis 3、アクセルは Axis 4 になります。RawInput プラグイン設定では、各入力はデバイス ドライバーからの対応する軸の配列に入力しなければなりません。つまりハンドルのデータは配列要素 1 に、ブレーキのデータは配列要素 3 にアクセル ペダルのデータは配列要素 4 に入れなければなりません。他のエントリは取り除くか、無効にします。

デバイスの出力範囲は標準コントローラーで想定されるものとは一致しないため、入力範囲を再マッピングします。車輪が戻す値は 0.0 (左) から 1.0 (右) ですが、0.0 を中心に入力範囲を設定します。そのため、オフセット -0.5 としました。ブレーキとアクセルも 0.0 から 1.0 の範囲の値を戻します。このデバイスは 0.0 を使用して、そのペダルが押されていることを示します。1.0 の値は、ペダルが上がっていることを示しますが、このプロジェクトでは逆を想定しています。この調整をするために、軸の値を反転するように設定し、1.0 のオフセットを追加します。
RawInput の軸を入力バインディングにマッピングする

次に新しい軸をゲームの入力バインディングにマッピングします。車輪 ("Generic USB Controller Axis 1") は、範囲 [-0.5、0.5] にマッピングされますが、さらに感度を上げて、3.0 の係数でスケールアップできるようにします。同様にブレーキ ("Generic USB Controller Axis 2") を負の方向に行くようにし、アクセルよりも強力になるようにします。そのため、-2.0 でスケーリングされるようにします。アクセル ("Generic USB Controller Axis 3") は修正が不要です。適切な入力バインディングに追加するだけです。RawInput を使ってこうした入力バインディングを加えることで、新しい入力バインディングを必要とせずに、プロジェクトのコードまたはブループリントに変更を加えることなく、Logitech G920 をサポートします。