It is rare that I call a tool or piece of software a must-have, because different users have different requirements and not all tools will fit all project types. However I have to say right off the bat, Rewired is a must-have tool for any serious game developer using Unity unless that person is making a very specific kind of game.
Rewired is a tool for Unity designed to help developers with the creation of different control schemes, add support for multiple input types, and make control remapping simple. While Unity has an input system in place, this system is not well suited to make multiple control configurations or detect what type of input is being used.
The workflow in Rewired is pretty simple. You start by adding an Input Manager, and then you configure all the actions, input types, control schemes, and input types. The Input Manager is the place where you will spend 90% of your time with Rewired, making it easy to remember where to find the different configurations.
Chances are that you had already spent some time working on your game by the time you import the Rewired package, so most, if not all of the Inputs you need were already in your Unity's Input Manager. Rewired calls these Inputs 'Actions' and basically you need to re-create all your inputs inside the Input Manager.
What's cool about Rewired's Actions editor is that you can organize your actions into categories (actually, you can organize everything in categories). For example, when you need a button for jumping, but then the same button is used to skip a dialog, or select an option in a multiple-choice menu, these actions can be created in different categories, so you don't end up with a very huge list, but with various smaller lists.
Actions can be linked to Behaviors in Rewired. Behaviors are basically a way to configure how an input works (joystick or mouse sensitivity, repeat rate, double-press speed, etc.). This is very useful because different actions may need different behaviors (for example, if you use the same joystick for more than one action, each action could have a different joystick sensitivity).
However, to me, one of Rewired's killer feature is the ability to support different gamepad/joystick/alternate input methods. To me, this is a really killer feature because it makes it extremely easy to support a wide variety of controllers. This is very important because different controller models (especially for different platforms) may have different input numbering.
Rewired also allows you to add control remapping functionality to your game, and while you can create a solution on your own, you can also make use of a built-in menu they have included. Also, if you are a PlayMaker user, you should know Rewired also includes PlayMaker integration, and it offers a lot of PlayMaker actions to perform different commands.
As I said before, Rewired is a very useful tool, and even a must-have if you are serious about game development and you are using Unity. Control scheme is something often ignored by small developers, but gamers really care (a lot) about options like these, regardless of the size of the game in question.
Relevant links: guavaman.com/projects/rewired
Sergio Aris ROSA, Sr. Staff Writer