A common issue that has plagued UE4 for quite some time – since its conception apparently – has been the inability to retrieve specific gamepad info from each controller in play.
Searching “UE4 Get Gamepad Name” in the search engine of your choice will yield you countless results of people asking the same question over the past 5~6 years: "How do I get the name/build/model of a gamepad in UE4?" A majority of these topics end in a disappointing lack of information.
Some of them, however, do find themselves with one particular answer: Link up a newer SDL2 library and use that instead.
Whilst this methodology is fine (although I question having two separate SDL2 libraries loaded at once), and a plugin seems to now exist which will do just that for people, it does feel like this is a fundamental feature that is lacking in UE4.
Even Unity allows developers to easily access the name of their gamepad without requiring the use of external libraries or plugins.
Upon extensive research on the subject, I came across FInputDeviceScopeand believed that it could be used to retrieve gamepad information in some way. However, upon further investigation it seems like there’s no entry point to retrieve the information before it gets popped in the next tick.
In conclusion, I believe UE4 is long overdue for a built-in, user-friendly way to access extensive, lower-level information regarding the gamepads that the player is using. At the very least, it would be helpful to include a built-in way to detect if a gamepad is of a certain model/build (Dualshock versus XInput versus Generic).