> 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/demo.md).

# Demo Overview

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

Demos are production-style examples that show the toolkit running in a real game context. They are meant to be played first, then inspected asset by asset.

Use demos as adoption evidence: they show whether the toolkit can support real skill loops, resources, cooldowns, enemies, HUD state, debugging, and feedback in a game-like scene. Tutorials teach one concept at a time; demos show several systems interacting.

If you are learning the basics, start with the [tutorials](/docs/gameplay-ability-toolkit/evaluate/tutorial.md). If you want the conceptual manual, read the [documentation](/docs/gameplay-ability-toolkit/evaluate/documentation.md).

## How Demos Differ From Tutorials

| Tutorials                                     | Demos                                                               |
| --------------------------------------------- | ------------------------------------------------------------------- |
| Smaller, slower, and built for explanation.   | Larger, more complete, and built for inspection.                    |
| One mechanic at a time.                       | Several mechanics interacting at once.                              |
| HUD and event log emphasize cause-and-effect. | Gameplay feel, combat loops, and runtime inspection are emphasized. |
| Best for first learning.                      | Best for production reference.                                      |

## Arena

`Arena/` is a top-down wave-survival ARPG slice. It includes movement, mouse aim, melee combos, heavy attack, dodge i-frames, firebolt, meteor, flamethrower, warcry, pickups, enemies, waves, HUD, cues, and committed CC0 art sources.

Open `Training.unity` first when you want to test every ability safely. Open `Arena.unity` when you want the complete wave, enemy, boss, win, and lose loop.

![Practical Arena demo map showing gameplay zones and runtime feedback.](/files/UtZYCBuZyW2oAt1yuYqb)

| In the scene                              | Toolkit concept                     |
| ----------------------------------------- | ----------------------------------- |
| HP, Mana, Stamina, MoveSpeed, AttackSpeed | Attributes and clamping             |
| Light/heavy/fire damage and pickups       | Instant effects                     |
| Burn stacks and ticks                     | Duration effects, period, stacking  |
| Dodge invulnerability                     | Gameplay tags gating damage         |
| Ability icons grey out                    | Costs and cooldowns                 |
| Flamethrower runs while held              | Input release and channel lifecycle |
| Meteor lands after telegraph              | Ability tasks and targeting         |
| VFX trigger from tags                     | Gameplay cues                       |
| Event log overlay                         | Runtime observability               |

## Subsystem Coverage

| Subsystem              | Arena evidence                                        | Read more                                                                                       |
| ---------------------- | ----------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| AbilitySystemComponent | Player, enemies, dummies, and boss own ASCs.          | [AbilitySystemComponent](/docs/gameplay-ability-toolkit/subsystems/ability-system-component.md) |
| Attributes             | HP, Mana, Stamina, MoveSpeed, AttackSpeed.            | [Attributes](/docs/gameplay-ability-toolkit/subsystems/attributes.md)                           |
| Tags                   | Invulnerability, combo windows, statuses.             | [Gameplay Tags](/docs/gameplay-ability-toolkit/subsystems/tags.md)                              |
| Abilities              | Melee, dodge, firebolt, meteor, flamethrower, warcry. | [Abilities](/docs/gameplay-ability-toolkit/subsystems/abilities.md)                             |
| Effects                | Damage, cooldowns, burn, haste, pickups.              | [Effects](/docs/gameplay-ability-toolkit/subsystems/effects.md)                                 |
| Tasks and Timing       | Meteor delay, channels, combo windows.                | [Ability Tasks and Timing](/docs/gameplay-ability-toolkit/subsystems/tasks-timing.md)           |
| Targeting              | Meteor placement, melee hitboxes, projectile targets. | [Targeting](/docs/gameplay-ability-toolkit/subsystems/targeting.md)                             |
| Cues                   | VFX/SFX feedback mapped by cue tags.                  | [Gameplay Cues](/docs/gameplay-ability-toolkit/subsystems/gameplay-cues.md)                     |
| Montage                | Melee timing and action animations.                   | [Montage](/docs/gameplay-ability-toolkit/subsystems/montage.md)                                 |
| Runtime UI             | HUD, cooldowns, effect indicators, event log.         | [Runtime UI](/docs/gameplay-ability-toolkit/subsystems/runtime-ui.md)                           |

## Open In Unity

1. Open the Project window.
2. Navigate to `GameplayAbilityToolkit/Demo/Arena/Scenes/`.
3. Open `Training.unity` first if you want a safe sandbox.
4. Open `Arena.unity` when you want the full wave-survival loop.
5. Press Play and use the controls below or the in-game HUD.

After playing, stop Play Mode before editing assets. Unity discards most Play Mode Inspector edits when you exit Play Mode.

For a first inspection pass, use `Training.unity`, trigger every ability once, then open the matching `GA_*` ability and `GE_*` effect assets. Move to `Arena.unity` after you know what each ability is expected to do.

## Pages

* [Arena Demo](/docs/gameplay-ability-toolkit/try-it/arena.md): quick start, controls, feature mapping, and where to inspect first.
* [Arena Technical Notes](/docs/gameplay-ability-toolkit/demo-details/arena.md): content layout, dependency inventory, and scope.

## Quick Start

1. Open `Arena/Scenes/Arena.unity`.
2. Press Play.
3. Use WASD to move and mouse to aim.
4. Use Q, E, F, Space, and R for abilities. The full controls table is in the [Arena Demo](/docs/gameplay-ability-toolkit/try-it/arena.md).

`Arena/Scenes/Training.unity` is a sandbox for testing every ability without enemy pressure.

## What To Inspect First

| Folder                   | First inspection pass                                                                 |
| ------------------------ | ------------------------------------------------------------------------------------- |
| `Arena/Abilities/`       | Open `GA_LightAttack`, `GA_Dodge`, `GA_Firebolt`, `GA_Flamethrower`, and `GA_Meteor`. |
| `Arena/Effects/`         | Compare damage, cost, cooldown, burn, haste, pickup, and invulnerability effects.     |
| `Arena/Prefabs/Actors/`  | Inspect the player ASC, input source, controller, and HUD references.                 |
| `Arena/Prefabs/Enemies/` | Inspect enemy ASC, AI, hit reaction, and death handling.                              |
| `Arena/Cues/`            | Open the cue library and map cue tags to VFX prefabs.                                 |
| `Arena/Scripts/`         | Read runtime components for concrete gameplay rules.                                  |

## Debug Overlay

Add `ArenaDebugDraw` to any scene root to visualize melee hitboxes, enemy attack ranges, projectile and meteor radii, invulnerability windows, and combo windows in the Scene view.

The overlay is editor-only and has no build impact.

## What To Read Next

* Read [Arena Demo](/docs/gameplay-ability-toolkit/try-it/arena.md) for controls, gameplay mapping, and asset entry points.
* Read [Arena Technical Notes](/docs/gameplay-ability-toolkit/demo-details/arena.md) for architecture and asset inventory.
* Read [Cookbook](/docs/gameplay-ability-toolkit/build-with-it/07-cookbook.md) when you want to copy a focused pattern back into your own project.


---

# 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/demo.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.
