Detail this asset from Unity Store: Original Link
This is a paid asset, but now you can download Rewired Free.
Rewired v22.214.171.124 (Latest version)
Works in Unity 4, 5, 2017, 2018, & 2019!
Rewired is an advanced input system that completely redefines how you work with input, giving you an unprecedented level of control over one of the most important components of your game.
Website | Documentation | Forum Thread | Free Trial
Rewired is not just another Unity input wrapper like other packages. Rewired supports many platforms that Unity supports with extended native support on Windows, OSX, Linux, Windows 8 Store, Windows 10 Universal, WebGL, Ouya, Xbox One, PS4, Switch, and Stadia. Rewired leverages native libraries to access input devices directly, allowing for far more control over input. This makes possible some very powerful features such as full hot-plugging support for joysticks, support for more than 20 buttons per controller, gamepad vibration, and more. Rewired is the only input system available for Unity with native support for all these platforms and the only to offer these advanced features. For other platforms, Rewired utilizes Unity’s input system so you still get access to all the other features it provides.
Rewired features a player-centric input system making it the ideal solution for multi-player games. Controllers are intelligently auto-assigned to players on connect/disconnect, so you don’t have to worry about what controllers each player owns. Access input by player instead of controller, so you always get the result you expect regardless of what controllers the player is using.
Rewired features a powerful controller mapping system that allows you to create highly complex input schemes for any style of game. Map supported controllers by logically named elements instead of cryptic Axis 0, etc. Maps stack so you can create different maps for different game modes and switch between them easily. Create default controller layouts for a variety of controllers and allow the player to customize his own mappings. Save and load maps via XML.
Rewired solves all of Unity’s hot plugging problems on Windows, OSX, Linux, Windows 8 Store, Windows 10 Universal, WebGL, Ouya, Xbox One, PS4, Switch, and Stadia. (All other supported platforms depend on Unity’s hot-plugging support.) No more forcing your players to quit and restart when they change joysticks. No more guessing which controller is which. It just works.
Edit all your inputs from a powerful and easy to use editor. No coding just to add an action like some systems. Edit players, action and map categories, alternate map layouts, joystick, keyboard, mouse, and custom controller maps, input behaviors, and more from one convenient interface.
Rewired takes the hassle out of cross-platform input. Supported controllers have been mapped for consistency on Windows, Windows 8 Store, Windows 10 Universal, OSX, Linux, iOS, tvOS, Android, Amazon Fire TV, and Webplayers. Rewired also supports PlayStation 4, Xbox One, Switch, Stadia, PSM, WebGL, Ouya, Google Nexus Player, NVidia Shield, Razer Forge TV, GameStick, and other Android-based consoles.
Rewired supports virtually any USB or Bluetooth controller via user mapping, and provides extended support for many common controllers of all types with more added all the time. Supported controllers are fully mapable by element name and have standardized axis directions.
Rewired includes a complete, responsive, cross-platform runtime control remapping system. Simply add it to your project and configure it and your players can remap all their controls during the game! Highly configurable with built-in theme and language systems. Includes automatic or customized saving and loading of user data.
Rewired comes with a set of customizable, on-screen Touch Controls suitable for mobile platforms and built using Unity UI. Use the included joysticks, buttons, touchpad, tilt control, and more directly in your games, or customize them fully to your needs.
• Get input by polling or use input events.
• Custom Controllers allow any source to be used to drive the controller’s element values (for on-screeen touch controllers and more).
• Supports 128+ buttons and 32+ axes per controller on Windows, OSX, and Linux.
• Support for special controller features such as gamepad vibration and DualShock 4 touchpad, lights, and gyro.
• Assign multiple controllers per player.
• Share controllers (like the keyboard) among players with separate maps for each player.
• Enable and disable maps by category for switching between game modes with different controls.
• Create user controller remapping screens with named controller elements, select a named controller from a list, and more.
• Controller element assignment conflict checking functions.
• Controller Templates makes defining maps for similar controllers quick and easy.
• Input Behaviors allow you to create actions that share similar properties without having to duplicate information.
• Double-press/click support with customizable timing.
• Keyboard modifier support with up to 3 simultaneous modifier keys.
• Axis calibration (min, max, zero, deadzone).
• ZERO bytes of memory allocated per-frame during gameplay means no garbage collection overhead.
• Works with many other packages from the Asset Store including:
• UFPS: Ultimate First Person Shooter
• Behavior Designer
• Third Person Controller
• Dialogue System
• Corgi Engine
• Realistic FPS Prefab
• Inventory Pro
• Motion Controller
• ORK Framework
• Quest System Pro
• Realistic Tank Controller
• Universal Fighting Engine
• Racing Game Starter Kit
• Rex Engine
• Quest Machine
• Rucksack – Multiplayer Inventory System
• Space Combat Kit
• Ultimate Character Controller
• First Person Controller
• UTPS: Ultimate Third Person Shooter
• UFPM: Ultimate First Person Melee
• UTPM: Ultimate Third Person Melee
• So much more!