The input scheme is dependent on the type of application you are developing. You can set up specific actions in Unity’s Input ManagerSettings where you can define all the different input axes, buttons and controls for your project. More info
See in Glossary settings. By default, the Unity Input Horizontal axis is mapped to the game controllerA device to control objects and characters in a game.
See in Glossary D-pad and the left analog stick is mapped to extended profile controllers. See Input mapping for the KeyCodes and Axes that correspond to specific controller buttons.
This code example demonstrates the corresponding input handling:
using UnityEngine;
public class Jumping : MonoBehaviour
{
Rigidbody2D rb;
float jumpForce = 100f;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
if (Input.GetButtonDown("Jump"))
{
rb.AddForce(new Vector2(0f, jumpForce));
}
}
}
This code example demonstrates the corresponding input handling:
using UnityEngine;
public class Shooting : MonoBehaviour
{
float bulletSpeed = 500f;
public Transform gun;
public Rigidbody2D bullet;
void Update()
{
if (Input.GetButtonDown("Fire1"))
{
var bulletInstance = Instantiate(bullet, gun.position, gun.rotation);
bulletInstance.AddForce(gun.up * bulletSpeed);
}
}
}
You can map controller input in the Unity Input settings using the following:
Name | KeyCode | Axis |
---|---|---|
A | joystick button 14 | joystick axis 14 |
B | joystick button 13 | joystick axis 13 |
X | joystick button 15 | joystick axis 15 |
Y | joystick button 12 | joystick axis 12 |
Left Stick | N/A | Axis 1 (X) - Horizontal, Axis 2 (Y) - Vertical |
Right Stick | N/A | Axis 3 - Horizontal, Axis 4 - Vertical |
D-pad Up | joystick button 4 | Basic profile only: Axis 2 (Y) |
D-pad Right | joystick button 5 | Basic profile only: Axis 1 (X) |
D-pad Down | joystick button 6 | Basic profile only: Axis 2 (Y) |
D-pad Left | joystick button 7 | Basic profile only: Axis 1 (X) |
Pause | joystick button 0 | N/A |
L1/R1 | joystick button 8 / joystick button 9 | joystick axis 8 / joystick axis 9 |
L2/R2 | joystick button 10 / joystick button 11 | joystick axis 10 / joystick axis 11 |
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.