<aside> <img src="/icons/reorder_gray.svg" alt="/icons/reorder_gray.svg" width="40px" />

Navigation

</aside>

🏠 Home Page

Overview

Level Editor

Items

Power-Ups

Tutorials

Map

UI Store

💰 Monetization (Ads & IAP)

❤️ Lives System

Tutorial System Overview

The tutorial system manages one-shot guided sequences that run once per save slot. Each tutorial tracks its own completion state via SaveController and activates only if not yet finished.

image.png

How to add a new tutorial

  1. Create a new C# script inheriting from BaseTutorial.
using UnityEngine;

namespace Watermelon
{
    public class MyTutorial : BaseTutorial
    {
        protected override void OnInitialised() { }

        protected override void OnStarted()
        {
            // start tutorial logic — show pointer, disable input, etc.
        }

        protected override void OnFinished()
        {
            // cleanup — called automatically after FinishTutorial()
        }
    }
}
  1. Add the script to the scene. Attach it as a child GameObject of the TutorialController object in the Game scene. Save the scene — TutorialController discovers all BaseTutorial children automatically via OnSceneSaving.
  2. Trigger the tutorial from game code. Call TutorialController.ActivateTutorial<T>() at the appropriate moment (level start, after a specific game event, etc.).
// Activates tutorial; skips silently if already finished in a previous session
TutorialController.ActivateTutorial<MyTutorial>();

Tutorials in this project

Five tutorials are implemented in Triple Pick. Each runs exactly once and is persisted per device via SaveController. All tutorial objects are located in the Game scene under Tutorials/Tutorial Name.

All power-up tutorials share the same pattern: disable input via RaycastController.Disable(), move the power-up panel into the tutorial overlay canvas, show a message box, then restore input and finish when the player uses the power-up.

Skipping tutorials in Editor

Open Actions → Skip Tutorial in the Unity menu bar to toggle the skip flag. When active, all tutorials finish immediately on activation without showing any UI. The setting is stored in EditorPrefs and persists across Play sessions. Toggling mid-play takes effect immediately.