Assets of The Season
Assets updates
SimpleController

SimpleController

Updated
2024-07-31
Free
Code Plugins
Engine version
5.3
Download type
Engine Plugin
File size
87.8 MB
Registration required
Description

SDL Framework (desktop) based Plugin to use as many controllers as possible in Unreal.

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.

 

For the latest plugin version for old Unreal version you have to compile the plugin yourself. See documentation. 

 

Changelog (5.2, 5.3, 5.4)

  • (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.
  • (12/16/2022) Version 2.5: Bugfix: The connection index is now reseted when restarting the plugin. Rare crash when stopping the plugin.

 

Changelog (4.26, 4.27, 5.0)

  • (10/19/2022) Version 2.4: Rumble improved: Successfully tested with Dualsense (PS5). Dualshock 4 (PS4) should also work. Dualsense functions added: LED control, acceleration and gyro sensors, tochpad and trigger feedback. Added additional settings when initializing the plugin.
  • (10/05/2022) Version 2.3: New functions "addMousePosition" and "setMousePosition" added. With these you can move the cursor.

Technical Details

Epic only allows updates for the newest three engine versions. There might be features missing in older engine versions. Contact me if you are unsure.

  • DirectInput, XInput, RawInput
  • Hot Plugging
  • Force Feedback
  • Battery status
  • Support for more than 4 XInput Gamepads
  • PS5 Dualsense functions. Adaptive trigger, LED, touchpad, acceleration and gyro sensors
  • Keyboard and Mouse support *¹
  • Android and IOS *²
  • Designed for Blueprint Users
  • Works in almost all Blueprints
  • No problems with focus. Events are always fired (controllers on desktop)
  • Include C++ Source for C++ Projects

Comments
Comments is not yet
Add Comment
Please register
Other interesting assets