Flight Joystick suport in 5.6.1

This is my first attempt at an UE game (a simple flight sim), but I do have 20 years of experience as professional C++ developer. So far I didn’t hit any major obstacles and I have a Bf109 flying controlled by the mouse. Now I’d like to add joystick support, and have a massive problem there. I have an old Saitek Cyborg 3D (an USB device), but it seems a modern Thrustmaster T.16000M would have the same issue. The Saitek is recognized by Windows (and calibrated fine too). When I activate the windows raw input plugin, in the UE Editor log it appears too:

LogLoad: (Engine Initialization) Total time: 7.76 seconds
LogRawInputWindows: QueryConnectedDevices found 17 devices
LogRawInputWindows: QueryConnectedDevices found 17 devices
LogRawInputWindows: VendorID:06A3 ProductID:0006
LogRawInputWindows: Device was registered succesfully and is connected (Usage:4 UsagePage:1)
LogContentStreaming: Texture pool size now 1000 MB

the Vendor and Product ID match the values from the Windows device manger. In the input mapping context, I mapped all of the 24 axes to an input action (Axis 1D float), but this action (resp. its hook) never fires. Mapping a mouse axis to it works fine. I use ChatGPT quite a lot, and so far it was helpful, but in this case there seem to be recent changes, and nothing helps. It seems there used to be an input debugger, maybe it’s still there? How do I use any such device which is not xInput?

Joystick to work wwith unreal must be directx/eggs box compatibile. Sony pads do not work.

To get joystic support you just set common input and use joystick to drive some events.

1 Like

No, I cant believe that devices like the Thrustmaster won’t work in Unreal. Also, RawInputWindows obviously recognizes it. There’s just one link missing

the modern way is to use a new GameInput API. But it was just released by Microsoft around 1 year or so ago. So it’s not production ready in unreal right now.

Some Microsoft docs or just google “GameInput”

You can read more about it in unreal here :

It was written for UE 5.4 release, so some stuff could be different now. And starting with UE 5.7 you don’t need to install anything separately or compile the engine from source, GameInput library will be shipped with the engine by default. The only bummer is epic added a VERY old NuGet version of the library and updated it to the latest only 2 weeks ago, so it’s probably not going to make it for the 5.7 release window.