Search Unity

[FREE] Auto Input Manager - Managing input the Unity way

Discussion in 'Assets and Asset Store' started by MerryYellow, Dec 4, 2018.

  1. MerryYellow

    MerryYellow

    Joined:
    Sep 6, 2018
    Posts:
    22
    Notice: This forum thread is no longer maintained and might contain out-of-date information. Please visit official website to get the details about the asset Auto Input Manager.



    Asset Store


    Auto Input Manager (aka Input Enchanter) makes input management easier by modifying your scripts. It finds hard-coded input keys from the script files and makes them compatible with Unity's built-in input manager (Converts Input.GetKey() /GetKeyDown() /GetKeyUp() methods to Input.GetButton() /GetButtonDown() /GetButtonUp() methods).

    With Auto Input Manager, your script files becomes more modular and customizing keybindings becomes possible. With that non-programmers can change default keybindings in the editor without editing the code and players can customize their own keybindings in the start-up resolution dialog (only for standalone builds: Windows/OSX/Linux). Also, managing input will be easier since they will be stored in one place, not scattered over many script files.


    Samples

    Some cases handled by Auto Input Manager:


    First case
    Code (CSharp):
    1. public class NewBehaviourScript : MonoBehaviour {
    2.     void Update () {
    3.         if (Input.GetKeyDown(KeyCode.Space)) {
    4.             Player.Jump();
    5.         }
    6.     }
    7. }
    is enchanted to
    Code (CSharp):
    1. public class NewBehaviourScript : MonoBehaviour {
    2.     void Update () {
    3.         if (Input.GetButtonDown("Jump")) {
    4.             Player.Jump();
    5.         }
    6.     }
    7. }

    Second case
    Code (CSharp):
    1. public class NewBehaviourScript : MonoBehaviour {
    2.     void Update () {
    3.         bool isJumpOver = Input.GetKeyUp("space");
    4.     }
    5. }
    is enchanted to
    Code (CSharp):
    1. public class NewBehaviourScript : MonoBehaviour {
    2.     void Update () {
    3.         bool isJumpOver = Input.GetButtonUp("Jump");
    4.     }
    5. }

    Third case
    Code (CSharp):
    1. public class NewBehaviourScript : MonoBehaviour {
    2.  
    3.     public bool IsFiring { get { return Input.GetKey(KeyCode.Mouse0) || Input.GetKey("left ctrl"); } }
    4. }
    is enchanted to
    Code (CSharp):
    1. public class NewBehaviourScript : MonoBehaviour {
    2.  
    3.     public bool IsFiring { get { return Input.GetButton("Fire1"); } }
    4. }

    Questions and Contact

    You can ask me about anything. Also, any feedback is welcome.
    merryyellow@outlook.com
    or just pm on the forum or reply to this thread.
     
    Last edited: Aug 7, 2019
  2. MerryYellow

    MerryYellow

    Joined:
    Sep 6, 2018
    Posts:
    22
    Roadmap
    • Creation of new axes
    • Negative buttons
    • Custom input manager for runtime (maybe?)
    • Unity editor UI interruption error fix

    Changelog
    To be filled later
     
    Last edited: Dec 23, 2018
  3. MerryYellow

    MerryYellow

    Joined:
    Sep 6, 2018
    Posts:
    22
    If you are recieving error of "Cannot initialize manager" or "Cannot create manager" or "YamlDotNet.Core.SyntaxErrorException", please change the "Asset Serialization" setting to "Force Text" (from Edit -> Project Settings -> Editor -> Asset Serialization). You can change it back to its original value after using the Auto Input Manager.
    The default value for this setting is Force Text for projects created with Unity 2017.2 and later, so most of the users should not see this error.
     
  4. MerryYellow

    MerryYellow

    Joined:
    Sep 6, 2018
    Posts:
    22
    I'm officially ending support for Unity forums. Unfortunately it is putting huge barriers between the devs and users of the asset. To provide the best experience for you, the users, communications will be carried on the official website and discord channel. Thank you for your understanding.