Plug is a light weight open and extensible input system.
It uses pluggable, programmer writable drivers called InputProviders that can adapt any input source to its unified input model.
It provides a virtual axis system that allows run-time re-configuration of individual physical controls to virtual controls inside of your application.
Finally, it provides an easy to use "InputBinder" object that connects the virtual controls to your game logic through Unity events.
The base system comes with an InputProvider for all inputs configured in Unity Input as well as mouse, keyboard and touch screen.
Additional InputProviders will be made available for such things as USB and DirectX input.
Plug comes with full source code and a PDF file that explains the system as well as as an example project that includes a run-time GUI that can be used in your application or as an example to write your own from.
Plug has been tested on Windows, Android and WebGL. WebGL demo available at:
https://storage.googleapis.com/ww-static-web/WebGL/index.html