> For the complete documentation index, see [llms.txt](https://morningheartgames.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://morningheartgames.gitbook.io/docs/gameplay-ability-toolkit/evaluate/tutorial.md).

# Tutorial Overview

> Online doc: <https://morningheartgames.gitbook.io/docs/gameplay-ability-toolkit/tutorial/tutorial?fallback=true>

Tutorials are hands-on scenes that teach the toolkit by making gameplay rules visible while you play. They are learning material, not production templates that you must copy folder-for-folder.

Start here if you are new to data-driven ability systems. If you want the conceptual manual first, read the [user documentation](/docs/gameplay-ability-toolkit/evaluate/documentation.md). If you want a complete combat slice, jump to the [Arena demo](/docs/gameplay-ability-toolkit/evaluate/demo.md).

## Learning Path

| If you are...                                     | Do this first                                                                                                  |
| ------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| New to the toolkit                                | Play the Basic Tutorial once, then read the walkthrough.                                                       |
| Comfortable in Unity but new to GAS-style systems | Inspect the Basic Tutorial assets in the order listed below.                                                   |
| Adding your first custom ability                  | Read [How To Add an Ability](/docs/gameplay-ability-toolkit/tutorial-details/howtoaddability.md).              |
| Looking for deeper systems                        | Read [Advanced Topics](/docs/gameplay-ability-toolkit/tutorial-details/advancedtopics.md), then inspect Arena. |

For adoption evaluation, play the Basic Tutorial once before reading its code. You should be able to see input, ability activation, effects, tags, cues, UI, and event logging without guessing what the sample is doing.

## Basic Tutorial

`Basic/Scenes/BasicTutorial.unity` is a small training scene where a player fights a dummy and completes guided challenges. It is the fastest way for a solo developer to see how assets, runtime state, UI, and feedback connect.

It teaches:

| What you do                 | What it teaches                                                  |
| --------------------------- | ---------------------------------------------------------------- |
| Attack the dummy            | Ability activation, targeting, instant damage effects, hit cues. |
| Hold Guard                  | Granted tags, held abilities, tag-driven mitigation.             |
| Cast Fire Skill             | Costs, cooldowns, target collectors, DoT stacks, gameplay cues.  |
| Heal                        | Self-targeted effects and resource cost.                         |
| Reset the dummy             | Runtime cleanup of attributes, tags, effects, and cues.          |
| Watch the HUD and event log | Runtime observability through ASC events.                        |

![Practical runtime UI observability diagram showing ASC events feeding bars, lists, and logs.](/files/YRorjbp2Irk5TxHJ6PBV)

## Subsystem Coverage

| Subsystem              | Tutorial evidence                          | Read more                                                                                       |
| ---------------------- | ------------------------------------------ | ----------------------------------------------------------------------------------------------- |
| AbilitySystemComponent | Player and dummy both own ASCs.            | [AbilitySystemComponent](/docs/gameplay-ability-toolkit/subsystems/ability-system-component.md) |
| Attributes             | Health, Mana, Stamina, Damage.             | [Attributes](/docs/gameplay-ability-toolkit/subsystems/attributes.md)                           |
| Tags                   | Guard, burn, ability, cue, and state tags. | [Gameplay Tags](/docs/gameplay-ability-toolkit/subsystems/tags.md)                              |
| Abilities              | Attack, Guard, Fire Skill, Heal, Reset.    | [Abilities](/docs/gameplay-ability-toolkit/subsystems/abilities.md)                             |
| Effects                | Damage, heal, burn, costs, mitigation.     | [Effects](/docs/gameplay-ability-toolkit/subsystems/effects.md)                                 |
| Input                  | Logical tutorial input names and bindings. | [Core Input](/docs/gameplay-ability-toolkit/subsystems/input.md)                                |
| Targeting              | Fire Skill and attack targeting.           | [Targeting](/docs/gameplay-ability-toolkit/subsystems/targeting.md)                             |
| Cues                   | Cue library drives visible feedback.       | [Gameplay Cues](/docs/gameplay-ability-toolkit/subsystems/gameplay-cues.md)                     |
| Runtime UI             | HUD, nameplate, and event log.             | [Runtime UI](/docs/gameplay-ability-toolkit/subsystems/runtime-ui.md)                           |

## Open In Unity

1. Open the Project window.
2. Navigate to `GameplayAbilityToolkit/Tutorial/Basic/Scenes/`.
3. Double-click `BasicTutorial.unity`.
4. Press Play.
5. Use the controls in the scene HUD and watch the event log.

After the first playthrough, stop Play Mode and inspect these assets:

| Asset                                  | What to look for                                                      |
| -------------------------------------- | --------------------------------------------------------------------- |
| `Attributes/ASDef_BasicTutorial.asset` | Health, Mana, and Stamina schema.                                     |
| `Tags/BasicTutorialTags.asset`         | Ability, state, effect, and cue tags.                                 |
| `Inputs/BasicTutorialInputs.asset`     | Logical input names mapped to abilities.                              |
| `Effects/GE_*`                         | Costs, damage, heal, burn, and guard mitigation.                      |
| `Abilities/GA_*`                       | Animation timing, targeting, costs, cooldowns, and effect references. |
| `Prefabs/UI/BasicTutorialHUD.prefab`   | Runtime UI and event log wiring.                                      |

## Pages

* [Basic Tutorial](/docs/gameplay-ability-toolkit/try-it/basictutorial.md): walkthrough of the scene, assets, controls, verification checklist, and troubleshooting.
* [How To Add an Ability](/docs/gameplay-ability-toolkit/tutorial-details/howtoaddability.md): add a new Ice Spike-style ability from definition to input binding.
* [Advanced Topics](/docs/gameplay-ability-toolkit/tutorial-details/advancedtopics.md): tour of deeper systems not fully shown by the Basic scene, with links to tests.

## Quick Start

1. Open `Basic/Scenes/BasicTutorial.unity`.
2. Press Play.
3. Use Mouse0 for Light Attack, Mouse1 to hold Guard, Q for Fire Skill, E for Heal, and R to Reset Dummy.
4. Complete the three on-screen challenges while watching the event log and dummy nameplate.

## Debug Overlay

Add `BasicTutorialDebugDraw` to any scene root to visualize targeting origins, melee boxes, fire cone reach, guard state, and burn stacks in the Scene view.

The overlay is editor-only and does not affect builds.

## What To Read Next

* Read [Getting Started](/docs/gameplay-ability-toolkit/try-it/01-getting-started.md) if you want to rebuild the smallest actor/effect setup yourself.
* Read [Authoring Abilities](/docs/gameplay-ability-toolkit/build-with-it/03-authoring-abilities.md) before creating production abilities.
* Read [Authoring Effects](/docs/gameplay-ability-toolkit/build-with-it/04-authoring-effects.md) before adding new damage, buffs, DoTs, or costs.
* Read [Arena Demo](/docs/gameplay-ability-toolkit/try-it/arena.md) after the tutorial if you want a complete combat slice.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://morningheartgames.gitbook.io/docs/gameplay-ability-toolkit/evaluate/tutorial.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
