02 — Install and Project Settings

Step 1 — Check whether you already have it

New Unity 6 template projects ship with the Input System installed and active. Check: Window → Package Manager → In Project — look for Input System. If it's there, skip to the settings check below.

Step 2 — Install (older or stripped-down projects)

  1. Window → Package Manager
  2. Packages dropdown → Unity Registry
  3. Find Input System → Install
  4. Unity asks to enable the new input backends and restart the editor — click Yes. This restart is required; the input backends only switch at startup.

Step 3 — The setting that causes 90% of forum threads

Edit → Project Settings → Player → Other Settings → Active Input Handling:

Symptom dictionary

  • "InvalidOperationException: You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling..." → you're on New but some script uses old Input. calls. Set Both or port the script.
  • Buttons/UI don't respond after switching → scene has an old StandaloneInputModule on the EventSystem; Unity offers a one-click Replace with InputSystemUIInputModule on the component.
  • Kit's Tools menu shows "Setup Help (Input System not active)" → the package isn't installed/active. Follow steps above.

Step 4 — Project-wide settings (worth showing students)

Edit → Project Settings → Input System Package: default deadzones, tap time, etc. The defaults are fine for this course — just know where it lives. Unity 6 also has Project-wide Actions here (a global default actions asset); this kit deliberately uses its own asset file instead so everything is explicit and portable.

How this kit protects itself

Every runtime script in the kit is wrapped in:

#if ENABLE_INPUT_SYSTEM
    ... the whole script ...
#endif

ENABLE_INPUT_SYSTEM is defined by Unity only when the package is active. So importing this kit into a project without the Input System doesn't spray compile errors — the scripts simply sleep, and the Tools menu shows a help item telling you what to install. Steal this trick for any asset you distribute.

Checklist

Next: 03 - The Input Actions Asset