Input Wrapper for Unity's New Input System
A downloadable Unity Asset
A wrapper for Unity's new Input System that allows you to utilize old Input Manager syntax.
Update 1.2: The latest update changes how this asset stores data as a scriptable object instead of editor prefs enabling it to work better and more cleanly over all. If you used the DefaultInputActionAsset be sure to duplicate it and copy it out of the InputWrapper folder before you delete it. In order to upgrade delete the InputWrapper folder and then reimport the asset package. Then when you reimport the package update the settings to point to your copy of the DefaultInputActionsAsset.
If you found the new Input System to be somewhat difficult to jump into this asset is for you. The Easy New Input System provides:
- bool Input.GetButtonDown(string actionName)
- bool Input.GetButtonUp(string actionName)
- bool Input.GetButton(string actionName)
- float Input.GetAxis(string actionName)
- float Input.GetAxisRaw(string actionName)
- bool Input.GetKey(KeyCode keyCode)
- bool Input.GetKeyDown(KeyCode keyCode)
- bool Input.GetKeyUp(KeyCode keyCode)
- bool Input.GetMouseButton(int mouseButtonIndex)
- bool Input.GetMouseButtonDown(int mouseButtonIndex)
- bool Input.GetMouseButtonUp(int mouseButtonIndex)
With the addition of a few new methods because of the incredibly expanded options from the Unity's new Input System:
- Vector2 Input.GetVector2(string actionName)
- Vector2 Input.GetVector2Raw(string actionName)
- Vector3 Input.GetVector3(string actionName)
- Vector3 Input.GetVector3Raw(string actionName)
This asset makes it super simple to upgrade a project using Unity's old Input Manager or start a new project using the new Input System a cinch. You can even add this package to a game that is already using the new Input System and clean up your scripts a lot as a result.
After installing the new Input System from the package manager and importing this asset:
- To upgrade an old project you just need to create or modify the Input Action Asset to include all of the controls you have configured in the old Input Manager, open the settings under Edit > Input Wrapper Settings and choose the Input Action Asset. Then you shouldn't need to make any changes to your code.
- To start a new project you just need to create a new Input Action Asset or modify the Input Action Asset included with the project to have the relevant controls. Ensure that the Input Action Asset is selected in the Input Wrapper Settings menu and write your code the same way you always have with the old Input Manager. No new imports anything else required.
- For projects that already have the new Input System in use, you can bring this asset into the project and then you can remove most, if not all, context callback methods in your code as well as any booleans related to keeping track of what button was pressed when, as well as any state resets in your Update or FixedUpdate methods. With this asset it's simple, just poll for when a button is pressed using the above methods.
Asset now includes mappings for Mouse X, Mouse Y, and Mouse ScrollWheel to better match the old Input Manager with new examples. Since the way the old Input Manager and the new Input System read mouse delta values is different I have included an optional setting that tries to make them as close as possible, but as with the Axis Smoothing of the old Input Manager, it is incredibly difficult to figure out the math to a black box. The settings for these new features are in the Edit > Input Wrapper Settings menu.
Note: The asset is not available on the Asset Store due to being declined.
How to Import the asset into your project:
How to use your own Input Action Asset:
Discord for support inquiries: https://discord.gg/pVGHvtcEtW
In order to download this Unity Asset you must purchase it at or above the minimum price of $20 USD. You will get access to the following files:
Leave a comment
Log in with itch.io to leave a comment.