Tutorial Master

website·Indexed 31 days ago

https://hardcodelab.com

A tool for creating in-game tutorials and guides, featuring a system of modules (Highlighter, Image, Arrow, and Popup), entrance effects, and a pooling system for gameobjects. Supports version 1.0, 2.0, and 3.0, with integrations for PlayMaker and TextMesh Pro, as well as a data validator introduced in 2.0.5.

Tokens
38.7K
Snippets
132
Records
438
Agent score
49%

What's inside Tutorial Master

  1. Overview of Tutorial Master for Unity

    Tutorial Master (Version 3.0) is a toolkit used to create interactive tutorials within the Unity engine. It is designed to be non-invasive, allowing developers to integrate it into their projects even late in the development cycle without requiring significant architectural changes.
  2. Overview of RockTomate Unity Plugin

    RockTomate is a Unity editor extension designed to automate repetitive tasks within the Unity engine. It can handle a range of automation needs, from simple tasks like creating scenes to complex workflows such as building a project for multiple platforms with varying configurations.
  3. Understand Tutorial Master UI Canvas architecture

    Tutorial Master renders all tutorial-related UI in a separate Canvas that sits on top of the application's existing UI. This design ensures that the main UI elements remain interactable. Splitting the UI into multiple canvases is a recommended Unity optimization to prevent the entire UI from redrawing when a single element changes.
  4. Use RockTomate root variables

    Root variables are built-in constants or dynamic values accessible from anywhere within RockTomate. They can represent static data (like project directory paths) or dynamic data (like the name of a currently running job).

    To manage and view these variables:

    1. Open the "Variable Manager" window.
    2. Click the "Root" tab to see all available root variables.
    3. Constant variables display their values immediately, while dynamic variables are labeled as <dynamic variable>.
    4. Right-click any variable in the list to copy it to the clipboard for use in your configuration.
  5. Prevent runtime errors using the Data Validator

    Introduced in version 2.0.5, the Data Validator automatically ensures that Tutorials do not encounter runtime errors by validating all tutorial fields and stage fields before playback. If any field is invalid, the system prints a report specifying the invalid field, the associated stage, and the tutorial name.

    Execution flow:

    1. OnTutorialEnter is invoked.
    2. Data validation checks are performed.
    3. OnTutorialPlay is invoked only if all validation checks pass.
  6. Use Git - Get Branches to list repository branches

    The Git - Get Branches step retrieves information about the current branch and all available local and remote branches.

    Inputs:

    • Repository (Required): Output value from Git - Get Repository step

    Outputs:

    • Is Success: Boolean
    • Current Branch: Name of the currently checked out branch
    • All Branches: List of all branch names
    • Remote Branches: List of remote branch names
  7. Use JobContext for extending core functionality

    JobContext is a class that stores real-time data about a job, such as variables at the current stage of execution. It is constantly modified and passed to Steps before they are executed. This is primarily relevant for developers extending RockTomate core functionality.
  8. Use Runtime Flags to reference dynamic objects in tutorials

    Runtime Flags solve the problem of referencing objects that do not exist when a tutorial starts, such as dynamically created UI elements, spawned enemies, or objects located in different scenes. Instead of using traditional methods like finding GameObjects by tags, Runtime Flags provide a faster, non-scripting way to link the tutorial system to dynamic components.
  9. Understand variable usage in RockTomate

    Variables in RockTomate are used to store information that can be referenced or modified during the execution of a job. The system provides built-in variables, and users can create their own custom variables at both design-time and runtime.
  10. Automate RockTomate jobs using Event Manager

    Event Manager allows you to automate RockTomate jobs by configuring the system to listen for specific in-editor events. When a configured event is invoked, the associated job executes automatically. This is used to automate day-to-day workflows, such as automatically setting up newly imported textures based on their filenames. Some events provide parameter values that can be passed to the executing jobs as variables, and jobs can be conditionally prevented from running based on specified criteria.
  11. Analyze and resolve issues using Result Cards

    Scan results are presented as cards containing:

    • Header: A brief description of the problem and its category (in brackets).
    • Description: Detailed overview of the problem and the consequences of not fixing it.
    • Solution: Instructions on how to fix the identified problem.
    • Learn More…: Link to a relevant external article in the web browser.
  12. Generate dynamic tutorials using the C# builder API

    Tutorial Master 3 provides a C# builder API that allows developers to programmatically configure any element that can be set in the Editor. This enables the creation of dynamic and elaborate tutorials on the fly. Key capabilities include creating tutorials and stages, configuring marker pools and localized text, spawning markers, and enabling dim overlays. C#-built stages can be mixed and matched with Editor-built stages within the same tutorial.