Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Input System | Write your First Script
Unity for Beginners
course content

Course Content

Unity for Beginners

Unity for Beginners

1. Unity Introduction
2. Write your First Script
3. Unity Physics
4. Unity UI and Sounds
5. Polishing and Export your Game

book
Input System

Let's talk about the Unity Input System, helping you capture everything from keyboard taps to joystick tilts and turn them into exciting gameplay actions.

Understanding Key Methods:

  • Input.GetAxis;
  • Input.GetButton;
  • Input.GetKey.

These three methods are your primary tools for capturing user input in Unity. Let's explore their strengths, weaknesses, and ideal use cases:

Input.GetAxis

  • Purpose: Reads the magnitude and direction of an axis-based input device, such as an analog joystick, keyboard keys (WASD), or mouse movement;
  • Returns: A value between -1 (full negative) and 1 (full positive). 0 indicates no input, positive values represent positive movement on the axis, and negative values represent negative movement;
  • Applications: Useful for continuous actions like movement, steering, camera rotation, or gradual changes in intensity (e.g., accelerating a car gradually).

Example: Captures left/right movement on a keyboard or joystick.

Input.GetButton

  • Purpose: Detects whether a discrete button (e.g., keyboard spacebar, gamepad A button, touch screen tap) is being held down (true) or not (false);
  • Returns: A boolean value (true or false);
  • Applications: Ideal for toggling actions like jumping, firing a weapon, using an ability, or activating menus.

Example: Checks for the jump button being pressed.

Input.GetKey

  • Purpose: Detects whether a specific keyboard key is being held down (true) or not (false);
  • Returns: A boolean value (true or false);
  • Applications: Primarily used for keyboard-based controls, for actions like inventory management, hotkeys, or character abilities.

Example: Checks for the Shift key being held down.

Choosing the Right Input Method

Choosing the correct input method is crucial for creating intuitive and responsive gameplay. Here's a quick guide:

  • Use Input.GetAxis for continuous, direction-sensitive control, such as character movement or camera rotation;
  • Use Input.GetButton for simple on/off toggle actions, like jumping or firing a weapon;
  • Use Input.GetKey for keyboard-specific controls, ideal for actions like inventory management or activating hotkeys.

Remember:

  • Efficiency: Avoid calling these methods every frame unnecessarily, as it can impact performance. Instead, use conditional checks or event-based handling when possible;
  • Experimentation: Try different combinations and discover what works best for your game's design and target audience;

Experimenting will help you find the most intuitive and responsive controls.

Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 2. Chapter 5
We're sorry to hear that something went wrong. What happened?
some-alt