Legacy Documentation: Version 4.5.0

Script language:

  • JS
  • C#
  • Boo
Script language

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

Input.GetButton

static function GetButton(buttonName: string): bool;
static bool GetButton(string buttonName);
static def GetButton(buttonName as string) as bool

Description

Returns true while the virtual button identified by buttonName is held down.

Think auto fire - this will return true as long as the button is held down.

Use this only when implementing events that trigger an action, eg, shooting a weapon. Use GetAxis for input that controls continuous movement.

// Instantiates a projectile every 0.5 seconds,
// if the Fire1 button (default is Ctrl) is pressed.

var projectile : GameObject; var fireRate : float = 0.5; private var nextFire : float = 0.0;

function Update () { if (Input.GetButton("Fire1") && Time.time > nextFire) { nextFire = Time.time + fireRate; Instantiate(projectile, transform.position, transform.rotation); } }

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    public GameObject projectile;
    public float fireRate = 0.5F;
    private float nextFire = 0.0F;
    void Update() {
        if (Input.GetButton("Fire1") && Time.time > nextFire) {
            nextFire = Time.time + fireRate;
            Instantiate(projectile, transform.position, transform.rotation) as GameObject;
        }
    }
}
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	public projectile as GameObject

	public fireRate as float = 0.5F

	private nextFire as float = 0.0F

	def Update() as void:
		if Input.GetButton('Fire1') and (Time.time > nextFire):
			nextFire = (Time.time + fireRate)
			(Instantiate(projectile, transform.position, transform.rotation) as GameObject)