Input Wrapper is a tool that extends and improves the functionality of Unity's own Input system. It allows developers to gracefully and easily manage the creation and destruction of input axes through code and allows users to change existing controls at runtime!
Input Wrapper also supports multi-axis dead zone and axis scaling for better representation of input sources like analog sticks. (Check out the web player demo for a good illustration!)
It also comes with a GUI setup that should satisfy most needs. Developers can customize the look and feel of the GUI as well as set up what inputs are needed and where on the screen they should be represented, while end users can change input by clicking on the appropriate buttons and save or load their configurations to and from the PlayerPrefs file.
Because Input Wrapper is an extension of Unity's built in input system, it supports any external joysticks or external input sources that Unity does!
Source code is included so that developers can tweak the tool to perfectly fit their project if need be. The code is designed to be very modular so pieces can be swapped or edited with ease.
Check out a demo here!
Official Support Thread here!
Compatible with Unity Free!