Input Abstraction

Integrate player controls in an invisible way to all other scripts player or non player.


Uses Unity's New Input System. This is not device support or configuration.


Synchronize and/or interlock control behavior between a player button push and a script “button push”. High level gravity setting or input smoothing. This can be very noticeable in some games, especially a rotation for instance where a keyboard press needs an acceleration and a script would have sharp or mismatched acceleration while having the same items or stats. Essentially an abstraction layer between your game and player inputs.


⭐ Integrate custom input behaviors.

⭐ All scripts subscribe to the same flow through of input actions. Player or non-player.

⭐ Adds the familiar gravity function to inputs. High level input smoothing.

⭐ Adds a pressed event reducing the need for coroutines at the end points.

  • Easily & visibly see what every input is doing in the inspector.
  • Adds player input override for script control of player actions. Input override.
  • Several input behaviors are premade. 1D, 2D, Immediate, OnChange...
  • AI requests through the same pathway for controls. Player and non-players subscribe the same way to an action.
  • Minimal script upkeep to maintain synchronization with the Unity Input Actions Manger.
  • Compile time errors if an input is missing.
  • Each player or non-player has a Control component which contains the template for actions and events available to the owner player, or non-player, and child items or function scripts.
  • Lots of helpful explanatory comments in the scripts.
  • All inspector fields have ToolTips.