Legacy Documentation: Version 4.6.2
Language: English
  • C#
  • JS
  • Boo

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.


Suggest a change


Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.


Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.



public static function GetButtonDown(buttonName: string): bool;
public static bool GetButtonDown(string buttonName);
public static def GetButtonDown(buttonName as string) as bool


Returns true during the frame the user pressed down the virtual button identified by buttonName.

You need to call this function from the Update function, since the state gets reset each frame. It will not return true until the user has released the key and pressed it again.

Use this only when implementing action like events IE: shooting a weapon.
Use Input.GetAxis for any kind of movement behaviour.

	// Instantiates a projectile whenever the user hits the Fire1 Button.

var projectile : GameObject; function Update () { if (Input.GetButtonDown ("Fire1")) { Instantiate (projectile, transform.position, transform.rotation); } }
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    public GameObject projectile;
    void Update() {
        if (Input.GetButtonDown("Fire1"))
            Instantiate(projectile, transform.position, transform.rotation) as GameObject;
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	public projectile as GameObject

	def Update() as void:
		if Input.GetButtonDown('Fire1'):
			(Instantiate(projectile, transform.position, transform.rotation) as GameObject)