DEV Community

Cover image for Automatic Tutorial Maker for Unity: How to Speed Up In-Game Guide Creation
Octanta Studio
Octanta Studio

Posted on

Automatic Tutorial Maker for Unity: How to Speed Up In-Game Guide Creation

Hello! Our team at Octanta Studio introduces Automatic Tutorial Maker (ATM), a Unity tool designed to simplify in-game tutorial creation by automating the process. Just demonstrate actions once, and ATM generates a customizable, step-by-step guide for players. Good for freelancers, outsourced projects, and developers who frequently build casual or unconventional games.

ATM is available on the Unity Asset Store:
☝️ https://u3d.as/3tsL

This asset is optimized for 2D, 3D, UI, and supports desktop (mouse/keyboard) and mobile (touch input). Whether you’re teaching players how to open an inventory, swipe, or perform drag-and-drop, ATM handles it all.

How It Works

ATM records your actions in real-time during gameplay and converts them into tutorial steps. Each step includes visual hints (pointers, graphics, animations) and tracks player progress. For example:

  • Clicking the "I" key to open the inventory → Generates a step with a text graphic element on Canvas: "Press I."

  • Dragging a pear into a basket → Creates a step with a drag-pointer and target highlight, and text tip.

Unity tutorial automation

In-game tutorial engine

Quick Setup

step by step tutorial

  1. Import the ATM package into your Unity project.
  2. Add the TutorialSystem prefab to your scene and unpack it.
  3. Assign your scene’s Main Camera and UI Canvas to TutorialSceneReferences.
  4. Run Play Mode, press "Start Recording" in the ATM component during Play Mode. Maximize Game window (recommended) and perform the actions you want to teach.
  5. Press "Stop Recording" to save the tutorial.

Done! The system auto-generates visual hints and tracks player input. If you enter Play Mode again, you will see generated tutorial as a player.

Key Features

Designing good game tutorial

Feature
Action Recognition: Supports clicks, holds, swipes, drag-and-drop, key presses (WASD, etc.), and more. Detects UI, 2D, and 3D targets automatically.
Customizable Visuals: UI/World Pointers: Arrows, hands, geotags. UI/World Graphics: Popups, sidebars, swipe animations, text. Animations: Fade, slide, pulse, or create your own.
Progress Saving: Player progress is saved via JSON between sessions. To clear memory for testing, there is a special "Reset Tutor" button in SSP component in the inspector.
Advanced Step Control: Run steps in parallel. Trigger steps manually via script. Localize hint text dynamically.
Optimized Performance: Minimal CPU/GPU impact. Animations use lightweight math operations. Caching targets for pointer hints and clearing memory after steps are executed.

Supported Visuals: UI & World Hints

ATM offers a wide range of visual hints to guide players. These visuals are divided into UI and World, each with customizable animations and behaviors.

UI Visuals

  • UI Pointers: Arrows, hands, or mouse icons on Canvas that point to target elements (2D/3D/UI) and are dynamic. Example: A hand pointer over the UI button with text: "Click here to open the menu".
  • UI Graphics: Static or animated elements on Canvas like popups, sidebars, or swipe animations. Unlike pointers these elements are not tied to a specific target. Example: A popup with text: "Click anywhere to continue."
  • UI Hovers: Additional Pointers highlighting the final target (e.g., highlighting inventory slot).

Game learning interface

Unity tutorial system

World Visuals

  • World Pointers: Arrows, geotags, or frames in world coordinates that point to target elements (2D/3D/UI) and are dynamic. Example: A 3D arrow pointing to a door: "Go here to exit."
  • World Graphics: Text or particle effects placed in world coordinates. Example: A highlighted static area that the player must enter, with a floating text facing Camera: "Enter the void."

Unity tutorial maker

All visuals support custom animations (fade, slide, pulse) and can be easily replaced with your own prefabs.

Code Snippets for Advanced Use

For example, trigger steps via script

[SerializeField] private TutorialSceneReferences sceneReferences;  
void StartTutorial() {  
    sceneReferences.StartTutorialStep(0); // Start step 0  
}  
Enter fullscreen mode Exit fullscreen mode

or for asynchronously running a step without disabling others:

[SerializeField] private TutorialSceneReferences sceneReferences;  
void StartTutorial() {  
    sceneReferences.AsyncStartTutorialStep(0); // Async start step 0  
}  
Enter fullscreen mode Exit fullscreen mode

Translate hints at runtime

sceneReferences.ChangeStepVisualText(0, "Presiona I", TextToChange.PointerText);  
Enter fullscreen mode Exit fullscreen mode

Force complete a step

sceneReferences.ForceCompleteStep(2); // Skip step 2  
Enter fullscreen mode Exit fullscreen mode

Step Customization: Tailor Each Tutorial Step

In addition to recording, a Unity developer can manually use the flexible step system to customize the tutorial.

Unity step tutorial system

Example: Customizing a Click/Touch Step

  1. Set Interaction to Click.
  2. Set Check Interaction to By GameObject.
  3. Add the target object to GameObjects list and set it`s type (UI/2D/3D) in ObjectTypes list.
  4. Assign a UI Pointer to highlight the target object.
  5. Add text: "Click the object X."

For dynamic/procedurally generated content use Check Interaction: ByTag or ByLayer or set targets manually via StartTutorialStepWithTargets method.

Comprehensive documentation with AI support

Unity tutorial asset

Automate repetitive tasks by recording tutorial in minutes instead of hours. Quickly resolve misunderstandings with prefabs and a gallery of templates, such as “Tap to continue” popups and keyboard hints. For full asset support, use the PDF documentation and the AI Helper file to save time on research.

Unity tutorial asset

Freelancers and studios can quickly onboard clients with clear tutorials. Casual developers can reuse tutorial logic across similar projects, while innovative developers can explain unconventional mechanics without frustration.

Documentation

Full Docs: GitBook

Unity tutorial asset

Top comments (0)