Tutorial Master
website·Indexed 31 days ago
https://hardcodelab.comA 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.
What's inside Tutorial Master
- 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.
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.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.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:
- Open the "Variable Manager" window.
- Click the "Root" tab to see all available root variables.
- Constant variables display their values immediately, while dynamic variables are labeled as
<dynamic variable>. - Right-click any variable in the list to copy it to the clipboard for use in your configuration.
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:
OnTutorialEnteris invoked.- Data validation checks are performed.
OnTutorialPlayis invoked only if all validation checks pass.
Use Git - Get Branches to list repository branches
TheGit - Get Branchesstep 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
Use JobContext for extending core functionality
JobContextis 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.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.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.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.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.
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.