Summary

Unity has two main input workflows. The legacy Input Manager uses direct calls such as Input.GetAxisRaw("Horizontal") and Input.GetKeyDown(KeyCode.Space). The newer Input System package uses input actions, action maps and generated or event-based bindings. The course uses the legacy workflow first because it keeps the relationship between key press, value and movement visible. The Input System is the stronger long-term tool for larger projects. (course lab series, see source-csharp-unity-labs; Unity, Input System, see source-unity-input-system)

Comparison table

DimensionLegacy Input ManagerNew Input System
Typical codeInput.GetAxisRaw("Horizontal")Read an InputAction value
SetupBuilt into project settingsPackage and input action asset
Beginner readabilityHighMedium
RebindingLimitedStrong
Multi-device supportBasicStrong
Local multiplayerAwkwardDesigned for it
Best useFirst scripts, small prototypes, teaching input valuesProduction projects, controller support, configurable controls

When to choose the legacy Input Manager

Choose the legacy Input Manager when:

  • students are learning what input values are
  • the game is a small prototype
  • keyboard movement and simple buttons are enough
  • the priority is reading and tracing short code

This is the best starting point for explaining why input belongs in Update and why GetKeyDown is different from GetKey.

When to choose the Input System

Choose the Input System when:

  • the project needs rebinding
  • controller, keyboard and mouse support must be consistent
  • local multiplayer matters
  • actions should be separated from devices
  • the team can tolerate more setup complexity

The Input System is more scalable, but it hides more machinery behind assets and generated wrappers. That is useful after students already understand the simpler input model.

unity-input · unity-input-system · monobehaviour-lifecycle · overview-beginner-2d-unity-route