Description
Documentation,Support thread, Old reviews and questions, [email protected]
This plugin is based on the SDL Framework (on desktop platforms) and allows the use of much more controllers under Unreal. It supports DirectInput, XInput and RawInput Controllers. It runs independently of the Unreal controller settings. Controller inputs are fired via new Events. You can use these Events in almost all Blueprints. Not only in the Player Controller Blueprint. They work independently of the Focus. Rumble is supported. Force Feedback since Version 1.5. Most PS5 DualSense functions are available. You can move the mouse cursor with a controller. Since version 3.0 simple mapping of buttons and axes possible. Keyboard and Mouse emulation. (Keyboard/Mouse) Button events can be triggered via functions. Mouse cursor can also be controlled via functions.
You can try the plugin before you buy it. Windows Demo Build , Windows Vehicle Demo Build
Unreal Project (Plugin needed) 4.27 and higher
Vehicle Demo Project (Plugin needed) 4.24 and higher, 5.1 and higher
Local Multiplayer Demo Project (Plugin needed) 5.1 and higher, Video
Video of a customer demonstrating the mapping of a steering wheel.
For the Mac version since UE5.2, see Troubleshooting in the documentation.
Nativization in UE4 may cause problems and should be disabled in BPs that use this plugin.
For the latest plugin version for old Unreal version you have to compile the plugin yourself. See documentation.
Changelog (4.27 - 5.4)
(11/05/2024) Version 3.36: Bugfix: The death zone function had no effect in some events. Old UE versions now also get updates back to UE4.27.
Changelog (5.2, 5.3, 5.4)
(09/14/2024) Version 3.35: Android: Rumble support via Bluetooth. Tested with Android 14, but according to the API at least Android 12 is required.
(09/04/2024) Version 3.34: Bugfix. Plugin could no longer be compiled for Android.
(08/16/2024) Version 3.33: Bugfix. If you first loaded a mapping profile and then added a persistent axis event, the event did not work.
(08/10/2024) Version 3.32: Hotfix: The mapping did not work anymore in version 3.30 when using the tick event path.
(08/01/2024) Version 3.30: Events are now determined per tick by default. This increases compatibility with certain systems. Linux benefits the most. Can be switched back to thread-based events in the settings.
(07/06/2024) Version 3.23: Stability improvements.
(06/10/2024) Version 3.22: UI functions added so that a menu can be controlled via the plugin. Source code is again compatible with UE4.27. Compatibility with Android increased and the Android path starts automatically. When connecting a steering wheel, FF settings are tested and set via a short FF effect. Can be deactivated via the settings.
Changelog (5.1, 5.2, 5.3)
(02/21/2024) Version 3.20: The "Fire Keyboard Button Event" function has been added. This can be used, for example, to emulate the keyboard in order to control the UI via a gamepad. Android: Attach and Detach events work now. Controller Name, VendorID and ProductID are now read out. Battery is read out (Android 12). Rumble works partially. I will try to improve it.
(02/12/2024) Version 3.19: The controller inputs on Android are now read out via the Android NDK instead of Unreal. This increases compatibility and flexibility. Rumble not yet possible. Variable "Tag" added to the action profiles. This allows you to search for them using the "getMappingActionsByTag" function and thus sort them better. More gamepads now fire the "DirectionalPad" event.
(02/01/2024) Version 3.18: Mouse mapping bug fixes.
(01/30/2024) Version 3.17: Bug fixes for the functions that remove mappings. New functions "mapButton" and "mapAxis" added to perform mapping without user interaction or to overwrite a mapping. New function "createMappingFile" added to create a standard mapping. Many events now have the "ConnectionIndex" parameter. Removed function "setAxisMaxRange". The "setDeadZone" function has been extended instead.
(01/15/2024) Version 3.16: New functions: getBallValueBySDL, getHatValueBySDL, getButtonValueBySDL, getAxisValueBySDL added. Dpad (Hat) can now be mapped as button. Minor bug fixes.
(01/01/2024) Version 3.14: Added ButtonID/AxisID to the mapping function so that you can read out what the user has pressed in an already mapped action. Bugfix: Inverted mapped axis was inverted every time PIE was started.
(01/01/2024) Version 3.12: New functions added to calibrate an axis. Mainly for pedals. You can now change the settings of running Autocenter and Constant-force effects. Bugfix: Deleted mapping was saved incorrectly.
(12/26/2023) Version 3.11: Bug fixes in the Autocenter and Constant Force functions and stability improvements.
(12/13/2023) Version 3.10: New function "fireMouseButtonEvent" added. Changed the StructID parameter in the mapping profile so that UE no longer displays error messages. Be sure to create a new ID!
(12/13/2023) Version 3.9: Inversion of axes bug fixed. SDL update to version 2.29.0 (Windows). This should improve the recognition of steering wheel accessories. Mobile devices are now supported. This runs via Unreal and not via SDL. As a result, the range of functions is much smaller and should be understood as "better than nothing" at the current state.
(11/20/2023) Version 3.8: Fixed compilation errors on Linux.
(11/16/2023) Version 3.7: Added function "setUnrealKeyboardAndMouseEvents" so you can activate keyboard and mouse button events without using the mapping functions. A few small bug fixes.
(11/06/2023) Version 3.6: Bugifix in the setDeadZone function. Function "setAxisMaxRange" added.
(11/02/2023) Version 3.4: SDL settings can now be set in "Project Settings -> Engine -> Simple Controller Plugin". SDL update to version 2.28.5 (Windows).
(10/02/2023) Version 3.3: Automatic detection if an axis value is between 0 and 1 or between -1 and 1 removed because too error-prone. Now everybody can determine this by himself via the function "addAxisCorrection". Some bug fixes.
(09/25/2023) Version 3.2: Keyboard and mouse support added*¹. New async functions for joysticks. New ForceFeedback functions (Stop, Update, Run). ForceFeedback steering wheel functions revised for higher compatibility. Deadzone function added. Other small improvements.
Changelog (5.0, 5.1, 5.2)
(08/27/2023) Version 3.1: The initialization of the plugin within the engine will now be executed later. Stability improvements.
(08/19/2023) Version 3.0: Plugin now starts automatically. Gamepad events completely reworked. Completely new mapping functions and corresponding events added. New ForceFeedback functions for steering wheels. SDL updated.
Changelog (4.27, 5.0, 5.1)
(04/01/2023) Version 2.7: Raw Input enabled by default. Trigger Rumble added. Small bugfixes.
Included formats
- versions