Unity 6: New Input System — instructor notes
This folder is a course module. Students read the numbered pages in Obsidian. You paste the same files into Canvas LMS pages.
Student pages have no YAML frontmatter so they paste cleanly into Canvas.
How to use this folder
Obsidian
- Copy the entire
unity6-input-system-tutorialfolder into the course vault. - Open 01-overview.md as the landing page.
- Students follow the numbered files in order. Cross-links use relative markdown links, not wiki-links.
Canvas LMS
- Create a module titled Unity 6: New Input System.
- Add one Canvas page per numbered student file. Skip this README and skip images/README.md.
| Order | Source file | Suggested Canvas page title |
|---|---|---|
| 1 | 01-overview.md | Overview |
| 2 | 02-create-the-project.md | Create the project |
| 3 | 03-enable-the-input-system.md | Enable the Input System |
| 4 | 04-input-actions.md | Input Actions |
| 5 | 05-move-a-player.md | Move a player |
| 6 | 06-player-input-component.md | Player Input component (optional) |
| 7 | 07-troubleshooting.md | Troubleshooting |
| 8 | 08-save-as-template.md | Save as a course template |
- Paste the markdown into each Canvas page. Canvas accepts GitHub-flavored markdown: ATX headings, fenced code, tables, blockquotes, and standard image markdown.
- After you capture screenshots, store them in
images/using the filenames listed in images/README.md. On Canvas, upload those images to Files and replace the relativeimages/paths if Canvas does not serve the folder.
Note: Page 06 is optional for students. Page 08 is instructor-facing (how to turn the finished setup into a reusable starter). Hide 08 from students if you only want them to submit the cube assignment.
Screenshots
The student pages include image placeholders such as:

Capture the shots listed in images/README.md. Do not invent extra screenshot files until you have the Editor in front of you. Empty placeholders are intentional.
Suggested assignment
Title: Input System cube check
What students submit:
- A short screen recording (about 10–20 seconds) of Play mode: the cube moves on the plane with WASD or the arrow keys.
- A screenshot of Edit > Project Settings > Player > Other Settings > Configuration > Active Input Handling set to Input System Package (New).
Do not accept a recording that uses Input.GetAxis or Input.GetKey. This module sets Active Input Handling to New so those APIs are not available.
Scripts
Copy-paste-ready scripts live in two places:
- Embedded in 05-move-a-player.md and 06-player-input-component.md
- Standalone files in
scripts/for you to drop into a starter project:- scripts/PlayerMover.cs — project-wide
FindActionworkflow - scripts/PlayerMoverEvents.cs — Player Input + Unity Events workflow
- scripts/PlayerMover.cs — project-wide
After you teach it
Turn the finished project into a reusable starter using 08-save-as-template.md.
Primary path: Unity Hub custom template (Keep Project Settings on).
Fallback: a cleaned project folder zip (Assets, Packages, ProjectSettings only).
Note: Unity has no
.unityprojectfile format. The reusable starter is a Hub custom template, or a zip of a clean project folder. A.unitypackageshares Assets only and will miss Player / Input System settings.