---
title: "Indicating Progress to a Player"
content_type: tutorial
url: "https://learn.unity.com/course/3d-game-kit-lite/tutorial/indicating-progress-to-a-player?language=en"
language: en
container_type: course
container_title: "3D Game Kit Lite"
container_url: "https://learn.unity.com/course/3d-game-kit-lite.md?language=en"
standalone_markdown_url: "https://learn.unity.com/tutorial/indicating-progress-to-a-player.md?language=en"
previous_title: "Game Commands with Pressure Pads"
previous_url: "https://learn.unity.com/course/3d-game-kit-lite/tutorial/game-commands-with-pressure-pads?language=en"
previous_markdown_url: "https://learn.unity.com/course/3d-game-kit-lite/tutorial/game-commands-with-pressure-pads.md?language=en"
next_title: "UI"
next_url: "https://learn.unity.com/course/3d-game-kit-lite/tutorial/ui-jbsmar?language=en"
next_markdown_url: "https://learn.unity.com/course/3d-game-kit-lite/tutorial/ui-jbsmar.md?language=en"
difficulty: beginner
duration_minutes: 20
unity_version:
  - "2020.3"
  - "2020.2"
  - "2020.1"
  - "2019.4"
  - "2019.3"
  - "2019.2"
  - "2019.1"
  - "2018.4"
  - "2018.3"
supported_unity_versions:
  - name: "2020.3"
    url: "https://learn.unity.com/tutorial/indicating-progress-to-a-player.md?language=en&version=2020.3"
  - name: "2020.2"
    url: "https://learn.unity.com/course/3d-game-kit-lite/tutorial/indicating-progress-to-a-player.md?language=en&version=2020.2"
  - name: "2020.1"
    url: "https://learn.unity.com/course/3d-game-kit-lite/tutorial/indicating-progress-to-a-player.md?language=en&version=2020.1"
  - name: "2019.4"
    url: "https://learn.unity.com/course/3d-game-kit-lite/tutorial/indicating-progress-to-a-player.md?language=en&version=2019.4"
  - name: "2019.3"
    url: "https://learn.unity.com/course/3d-game-kit-lite/tutorial/indicating-progress-to-a-player.md?language=en&version=2019.3"
  - name: "2019.2"
    url: "https://learn.unity.com/course/3d-game-kit-lite/tutorial/indicating-progress-to-a-player.md?language=en&version=2019.2"
  - name: "2019.1"
    url: "https://learn.unity.com/course/3d-game-kit-lite/tutorial/indicating-progress-to-a-player.md?language=en&version=2019.1"
  - name: "2018.4"
    url: "https://learn.unity.com/course/3d-game-kit-lite/tutorial/indicating-progress-to-a-player.md?language=en&version=2018.4"
  - name: "2018.3"
    url: "https://learn.unity.com/course/3d-game-kit-lite/tutorial/indicating-progress-to-a-player.md?language=en&version=2018.3"
last_updated: "2026-08-04T14:24:31.000Z"
---

# Indicating Progress to a Player

Learn to show player progress by driving crystal indicators with a Game Command and Counter system.

It’s good practice in game design to indicate progress to a Player, either through a user interface or through indicators in the game.

We’ll be adapting our Game Command and Counter to show Crystals lighting up near the door when Ellen activates each Switch.

## 1. Activating the Crystals

We’ll be adapting our Game Command and Counter to show **Crystals** lighting up near the door when Ellen activates each Switch. This shows the player that there are 3 Switches in the world for that door, and indicates how many they have activated.

- In the Project window, go to Assets > 3DGamekitLite > Prefabs > Interactables.
- Find the Crystal Prefab.
- Drag it into the Scene.

![](https://connect-mediagw.unity.com/h1/20190214/learn/images/f535ff54-a382-4c27-b837-6900349ae672_image3.png)

- Place the **Crystal** somewhere near **DoorSmall.**
- With the **Crystal** selected in the **Hierarchy** window, press **Ctrl + D (Cmd + D** on macOS) twice to duplicate it twice.
- Select **Crystal (1)** and **Crystal (2)** in the **Hierarchy** window **(Ctrl + left-click** on Windows, or **Cmd + left-click** on macOS) and drag to reorder them near **Crystal** in the list.

![](https://connect-mediagw.unity.com/h1/20190214/learn/images/b6307d7f-817f-4eeb-99b0-db559c94da57_image1.png)

- In the Scene view, position the **Crystals** alongside each other.

![](https://connect-mediagw.unity.com/h1/20190214/learn/images/90f1fb76-f7f0-4913-aebb-319161ddf052_image2.png)

In this example we’ve placed them just next to **DoorSmall** to make it obvious to the player. Let’s make them change colour when a **Switch** activates:

- In the **Hierarchy** window, select the **Switch.**
- In the **Inspector** window, scroll down to the bottom and select **Add Component.**
- In the search box, type **Send on Trigger Enter.**
- Select the **Send on Trigger Enter** component to add it to the **Switch** GameObject.

![](https://connect-mediagw.unity.com/h1/20190214/learn/images/d064667f-4b4a-4889-a091-99151ce0b867_image7.png)

This adds another **Send On Trigger Enter** component to the **Switch**. Let’s use this to send a command to the **Crystal,** for it to change colour when the **Switch** is activated.

Set the values in the **Send On Trigger Enter** component you just added to the following:

- **Interaction Type:** Activate
- **Interactive Object: Crystal** (drag the Crystal GameObject from the Hierarchy window into the the slot)
- **One Shot:** Enabled (tick the box)
- **Layers:** Player

**A quick note on Layers:**

**Layers** are a way to group GameObjects together so that we can apply specific actions to that layer only. For example, if we want to test collisions in our level, we could place all objects in an "environment" layer. This way we can focus on collision testing only and not be distracted by characters or gameplay objects.

![](https://connect-mediagw.unity.com/h1/20190214/learn/images/3960b8f5-a9a8-4072-ad4a-eeb02ff20ae9_image5.png)

This sends a command to the **Crystal** to activate when the **Switch** activates.

![](https://connect-mediagw.unity.com/h1/20190214/learn/images/6af4cf45-3a3f-40a1-ac31-35e96e43cd66_image6.png)

To test the mechanic, press **Play** and run up to the first **Switch**. It should also activate the first **Crystal.**

![](https://connect-mediagw.unity.com/h1/20190214/learn/images/c33f883a-788f-4ff8-b9ae-fe563b066b92_image4.png)

Repeat these steps for each remaining **Switch** and **Crystal** combination. Make sure you match **Switch (1)** with **Crystal (1)** and **Switch (2)** with **Crystal (2)**. Each **Switch** should now send a command to its assigned **Crystal,** and to the **Counter.**
