GetButton and GetKey

Checked with version: 4

-

Difficulty: Beginner

-

Date: 24 Jul 2015

How to get button or key for input and how these axes behave / can be modified with the Input manager

GetButton and GetKey

Beginner Scripting

KeyInput

Code snippet

using UnityEngine;
using System.Collections;

public class KeyInput : MonoBehaviour
{
    public GUITexture graphic;
    public Texture2D standard;
    public Texture2D downgfx;
    public Texture2D upgfx;
    public Texture2D heldgfx;
    
    void Start()
    {
        graphic.texture = standard;
    }
    
    void Update ()
    {
        bool down = Input.GetKeyDown(KeyCode.Space);
        bool held = Input.GetKey(KeyCode.Space);
        bool up = Input.GetKeyUp(KeyCode.Space);
        
        if(down)
        {
            graphic.texture = downgfx;
        }
        else if(held)
        {
            graphic.texture = heldgfx;
        }
        else if(up)
        {
            graphic.texture = upgfx;
        }
        else
        {
            graphic.texture = standard; 
        }
        
        guiText.text = " " + down + "\n " + held + "\n " + up;
    }
}
#pragma strict

public var graphic : GUITexture;
public var standard : Texture2D;
public var downgfx : Texture2D;
public var upgfx : Texture2D;
public var heldgfx : Texture2D;

function Start()
{
    graphic.texture = standard;
}

function Update ()
{
    var down  = Input.GetKeyDown(KeyCode.Space);
    var held = Input.GetKey(KeyCode.Space);
    var up = Input.GetKeyUp(KeyCode.Space);
    
    if(down)
    {
        graphic.texture = downgfx;
    }
    else if(held)
    {
        graphic.texture = heldgfx;
    }
    else if(up)
    {
        graphic.texture = upgfx;
    }
    else
    {
        graphic.texture = standard;
    }

    guiText.text = " " + down + "\n " + held + "\n " + up;
}
import UnityEngine
import System.Collections


public class KeyInput(MonoBehaviour):

    public graphic as GUITexture

    public standard as Texture2D

    public downgfx as Texture2D

    public upgfx as Texture2D

    public heldgfx as Texture2D

    
    private def Start():
        graphic.texture = standard

    
    private def Update():
        down as bool = Input.GetKeyDown(KeyCode.Space)
        held as bool = Input.GetKey(KeyCode.Space)
        up as bool = Input.GetKeyUp(KeyCode.Space)
        
        if down:
            graphic.texture = downgfx
        elif held:
            graphic.texture = heldgfx
        elif up:
            graphic.texture = upgfx
        else:
            graphic.texture = standard
        
        guiText.text = (((((' ' + down) + '\n ') + held) + '\n ') + up)

ButtonInput

Code snippet

using UnityEngine;
using System.Collections;

public class ButtonInput : MonoBehaviour
{
    public GUITexture graphic;
    public Texture2D standard;
    public Texture2D downgfx;
    public Texture2D upgfx;
    public Texture2D heldgfx;
    
    void Start()
    {
        graphic.texture = standard;
    }
    
    void Update ()
    {
        bool down = Input.GetButtonDown("Jump");
        bool held = Input.GetButton("Jump");
        bool up = Input.GetButtonUp("Jump");
        
        if(down)
        {
            graphic.texture = downgfx;
        }
        else if(held)
        {
            graphic.texture = heldgfx;
        }
        else if(up)
        {
            graphic.texture = upgfx;
        }
        else
        {
            graphic.texture = standard;
        }
    
        guiText.text = " " + down + "\n " + held + "\n " + up;
    }
}
#pragma strict

public var graphic : GUITexture;
public var standard : Texture2D;
public var downgfx : Texture2D;
public var upgfx : Texture2D;
public var heldgfx : Texture2D;

function Start()
{
    graphic.texture = standard;
}

function Update ()
{
    var down  = Input.GetButtonDown("Jump");
    var held = Input.GetButton("Jump");
    var up = Input.GetButtonUp("Jump");
    
    if(down)
    {
        graphic.texture = downgfx;
    }
    else if(held)
    {
        graphic.texture = heldgfx;
    }
    else if(up)
    {
        graphic.texture = upgfx;
    }
    else
    {
        graphic.texture = standard;
    }

    guiText.text = " " + down + "\n " + held + "\n " + up;
}
import UnityEngine
import System.Collections


public class ButtonInput(MonoBehaviour):

    public graphic as GUITexture

    public standard as Texture2D

    public downgfx as Texture2D

    public upgfx as Texture2D

    public heldgfx as Texture2D

    
    private def Start():
        graphic.texture = standard

    
    private def Update():
        down as bool = Input.GetButtonDown('Jump')
        held as bool = Input.GetButton('Jump')
        up as bool = Input.GetButtonUp('Jump')
        
        if down:
            graphic.texture = downgfx
        elif held:
            graphic.texture = heldgfx
        elif up:
            graphic.texture = upgfx
        else:
            graphic.texture = standard
        
        guiText.text = (((((' ' + down) + '\n ') + held) + '\n ') + up)
Destroy
GetAxis

Related documentation

Community resources

Scripting

Beginner Gameplay Scripting

  1. Scripts as Behaviour Components
  2. Variables and Functions
  3. Conventions and Syntax
  4. C# vs JS syntax
  5. IF Statements
  6. Loops
  7. Scope and Access Modifiers
  8. Awake and Start
  9. Update and FixedUpdate
  10. Vector Maths
  11. Enabling and Disabling Components
  12. Activating GameObjects
  13. Translate and Rotate
  14. Look At
  15. Linear Interpolation
  16. Destroy
  17. GetButton and GetKey
  18. GetAxis
  19. OnMouseDown
  20. GetComponent
  21. Delta Time
  22. Data Types
  23. Classes
  24. Instantiate
  25. Arrays
  26. Invoke
  27. Enumerations
  28. Switch Statements

Intermediate Gameplay Scripting

  1. Properties
  2. Ternary Operator
  3. Statics
  4. Method Overloading
  5. Generics
  6. Inheritance
  7. Polymorphism
  8. Member Hiding
  9. Overriding
  10. Interfaces
  11. Extension Methods
  12. Namespaces
  13. Lists and Dictionaries
  14. Coroutines
  15. Quaternions
  16. Delegates
  17. Attributes
  18. Events

Editor Scripting

  1. Building a Custom Inspector
  2. The DrawDefaultInspector Function
  3. Adding Buttons to a Custom Inspector

Community Posts

  1. MonoDevelop's Debugger
  2. Good Coding Practices in Unity
  3. Unity Editor Extensions – Menu Items
  4. Creating Meshes

Project Architecture

  1. Mastering Unity Project Folder Structure - Version Control Systems

Live Sessions on Scripting

  1. Scripting Primer and Q&A
  2. Scripting Primer and Q&A - Continued
  3. Scripting Primer and Q&A - Continued (Again)
  4. Persistence - Saving and Loading Data
  5. Object Pooling
  6. Introduction to Scriptable Objects
  7. How to communicate between Scripts and GameObjects
  8. Coding in Unity for the Absolute Beginner
  9. Sound Effects & Scripting
  10. Editor Scripting Intro
  11. Writing Plugins
  12. Property Drawers & Custom Inspectors
  13. Events: Creating a simple messaging system
Got it

We use cookies to ensure that we give you the best experience on our website. Click here for more information.