Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
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

Ready to bring your Unity game to life with responsive controls? This course dives into the essential methods of the Unity Input system, helping you capture everything from keyboard taps to joystick tilts and turn them into exciting gameplay actions. Understanding Input.GetAxis, Input.GetButton,and 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

The best method depends on the situation:

  • Use Input.GetAxis for continuous, direction-sensitive control;
  • Use Input.GetButton for simple on/off toggle actions;
  • Use Input.GetKey for keyboard-specific controls.

Remember:

Efficiency: Avoid calling these methods every frame unnecessarily, as it can impact performance. 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.

Practice Makes Perfect

Reinforce your understanding by applying these concepts in a small Unity project. Create a simple scene where you control a character's movement, jumping, and firing with different input methods. Experiment and have fun! Consult the Unity documentation: For in-depth details and comprehensive examples, refer to the official Unity documentation on Input: Input System Documentation

Stay updated: New input features and enhancements are frequently added to Unity. Keep up-to-date to leverage the latest capabilities, Unity have a new input system which is harder to use but have more features and it’s more controllable watch this video for understanding the new Unity Input system: New Input Sytem

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