Save as a course template

About 15 minutes. Instructor page.

Learning objectives

There is no .unityproject file extension in Unity. If you wanted a reusable ".unityproject", use a Hub custom template, or zip a clean project folder. A .unitypackage is different: it shares Assets (and optionally some settings you packed), not a full project, and it will miss Active Input Handling if you only export scripts and scenes.

Official Hub steps: Create a custom template | Unity Hub

What must be in the starter

Before you save anything, open the project you built in pages 02–05 and make it boring on purpose.

  1. Open SampleScene.
  2. Keep Main Camera, Directional Light, Plane, and Player.
  3. Delete leftover cubes, test canvases, and extra cameras.
  4. On Player, leave Player Mover enabled. Remove Player Input and Player Mover Events unless you want every student to start on the events workflow.
  5. Select Player, press F in the Scene view, and confirm the Game view shows the cube on the plane.
  6. Save the scene (File > Save).

You should see: Hierarchy is Camera, Light, Plane, Player. Console is empty in Play mode. WASD still moves the cube.

Optional student readme in the project

  1. In Assets, create README.txt.
  2. Put three lines in it, for example:
Course starter: Unity 6 + New Input System
Active Input Handling is Input System Package (New).
Move the Player cube with WASD or a gamepad left stick (Play mode).

Primary path: Hub custom template (Hub 3.18+)

Custom templates package a project so New project in Hub can clone it.

Suggested identity:

From the Projects list

  1. Close the Unity Editor so Hub is not fighting an open project.
  2. Open Unity Hub.
  3. Select Projects.
  4. Open the project menu for this project (the … menu on the project row).
  5. Select Save project as custom template.
![Save project as custom template in Unity Hub](images/08-save-custom-template.png)
  1. Enter the name, description, and version above.
  2. Enable Keep Project Settings.
  3. Skip source control unless you already use it for templates.
  4. Select Create.

From the Templates window

  1. In Hub, open the Templates window.
  2. Select New template.
  3. Choose this project as the source.
  4. Enter name, description, and version.
  5. Enable Keep Project Settings.
  6. Select Create.

You should see: the template listed in the Templates window and as a choice when you create a new project.

Why this matters: Keep Project Settings must be on. If it is off, Hub copies Assets and Packages but not Player settings. Students get the Input System package and then a warning that the project is using the wrong input backends. They will have to redo Enable the Input System. For URP + Input System starters, always keep project settings.

Confirm the template

  1. In Hub, select Projects > New project.
  2. Select Course Starter — Input System.
  3. Create a throwaway project on a local disk.
  4. When the Editor opens, check all four:

Delete the throwaway project after it passes.

To ship an update later, change the source project, then save it as a new template (new version or new name). Hub does not overwrite an existing custom template in place.

Fallback: clean project folder (older Hub)

If Hub has no Save project as custom template and no Templates > New template, share the project folder instead.

  1. Close the Editor.
  2. Duplicate the project folder (Finder, Explorer, or cp -R).
  3. In the copy, delete these directories if they exist. They regenerate and they make huge archives:
  1. Keep these:
  1. Zip the cleaned folder.
  2. Students: download, unzip to a local disk, then in Hub use Open / Add project from disk.

You should see: the zip is small compared with a zip that still contains Library. Students open it as a normal project, not as a Hub template.

Warning: Still do not zip from a OneDrive/Dropbox copy. Duplicate onto a local path first.

.unitypackage is not a full starter

Assets > Export Package… creates a .unitypackage. That is useful for sharing extra scripts or a prefab. It is not a replacement for this template:

Use Hub custom templates (or the folder zip) for the course starter. Use .unitypackage only for add-on assets.

Checkpoint

The starter is ready when: