This is a temporary replacement for Epic's
SteamController plugin as the version shipped with 4.11 and older is woefully out of date. Attempting to update the Steam SDK will cause the
SteamController plugin to fail compilation.
This plugin does not have full feature-parity with Valve's recommended implementation, but its currently closer than what is provided and it compiles with newer Steamworks SDK versions.
- You must be building UE4 from source to use this update.
- Steamworks SDK v1.35a or later
- Delete the entire contents of
- Download a copy of this repo and copy this repo's
Engine\Plugins\Runtime\Steam\SteamControllerfolder into your engine
- Regenerate your Engine project files
- Compile as usual
This rewrite currently allows you to use the names of your Action Mappings in your project as actions within your Steam Controller configuration file, allowing players to bind their Steam Controllers to game actions rather than emulating other input devices.
It does so by behind the scenes magic which redirects Steam Controller action bindings to the first bound key of an action within your project. This means that all of your in-game input events must have a key assigned to it, whether its a keyboard key or gamepad button. Your users will no longer have to be aware of what buttons your game is looking for however, and will only ever see the gameplay action name.
It currently does not support Axis Mappings.
This rewrite could be 'proper' of Epic would allow the firing of Input Events by their names instead of FKeys alone. If this is done, no 'behind the scenes' magic would be needed and it would be trivial to directly map Steam Controller actions to your projects actions, both Action Mappings and Axis Mappings.
You will need an App ID to properly set up Steam Controller settings. Once you do, follow along with the Steam Controller API documentation regarding the controller script files. You can skip the parts about game implementation. When you define your controller actions, use the same exact names for your actions as they are named in your project's Action Mapping list.