Enable the Input System

About 15 minutes. Budget extra time for Editor restarts.

Learning objectives

Official install steps: Installation guide | Input System

Check Package Manager first

Many Unity 6 templates already include the Input System package. Some also create InputSystem_Actions.inputactions under Assets. Check before you install anything.

  1. Open Window > Package Manager.
  2. Select Unity Registry in the left navigation.
  3. Select Input System in the list (use the search box if the list is long).
![Package Manager showing Input System](images/03-package-manager-input-system.png)
  1. Read the button in the details panel.
What you see What to do
Install The package is missing. Continue with Install the package.
Remove / Update, or a version number already listed as installed The package is already there. Skip install. Go to Enable the new backends.

You should see: the Input System package selected, with either Install or an installed version.

Install the package

Skip this section if Package Manager already shows Input System as installed.

  1. With Input System selected, select Install.
  2. If Unity asks to enable the new input backends, select Yes.
![Dialog asking to enable new input backends](images/03-enable-backends-dialog.png)
  1. Wait for the Editor to restart.

You should see: the Editor closes and reopens on the same project.

Enable the new backends

Installing the package is not the same as making it the active input stack.

  1. Open Edit > Project Settings.
  2. Select Player.
  3. Open Other Settings.
  4. Under Configuration, find Active Input Handling.
  5. Set it to Input System Package (New).
![Active Input Handling set to Input System Package (New)](images/03-active-input-handling.png)

Why this matters: This course uses Input System Package (New) so Input.GetAxis and Input.GetKey are not available. If you leave it on Input Manager (Old), New Input System scripts will not run. Both is only for migrating an old project that still contains legacy input code. Do not use Both for this starter.

Setting C# defines Use in this course
Input Manager (Old) ENABLE_LEGACY_INPUT_MANAGER No
Input System Package (New) ENABLE_INPUT_SYSTEM Yes
Both both defines Migration only
  1. Close Project Settings. If Unity asks to restart the Editor, accept and wait.

You should see: the Editor restarts. After it returns, Active Input Handling still reads Input System Package (New).

Warning: Changing Active Input Handling does nothing until the Editor restarts. If you skip the restart, later scripts fail in confusing ways.

Project-wide actions

Unity 6 stores the default actions in a project-wide Action Asset. Scripts then call InputSystem.actions.FindAction(...).

  1. Open Edit > Project Settings.
  2. Select Input System Package.
![Input System Package project settings with actions assigned](images/03-project-wide-actions.png)
  1. Look at the Input Actions section.
What you see What to do
An actions asset is already assigned (often InputSystem_Actions) Done. Close Project Settings.
A button labeled Create and assign a default project-wide Action Asset Click it.
  1. If you created the asset, confirm a file named InputSystem_Actions.inputactions (or similar) appeared under Assets.

You should see: Project Settings > Input System Package shows an assigned Action Asset, and the default maps Player and UI are listed.

The default Player map includes Move, Look, Jump, Attack, and related actions. Move is typically WASD + arrows + gamepad left stick. Jump is typically Space + the gamepad south button.

UI input (read this once)

When Active Input Handling is New or Both, Unity UI (uGUI) uses Input System UI Input Module, not Standalone Input Module.

If you later add a Canvas and clicks do nothing, select the EventSystem object. If it still has Standalone Input Module, replace that component with Input System UI Input Module. Unity often offers a button in the Inspector to do this swap. This starter does not need a Canvas.

Checkpoint

Before you continue to Input Actions: