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

# Package Overview

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

Gameplay Ability Toolkit is a Unity framework for building data-driven gameplay rules in single-player projects. It gives you reusable building blocks for abilities, effects, attributes, gameplay tags, cue playback, targeting, input, montage-driven animation, runtime UI, editor tooling, and optional Game Creator / Input System / Animancer integrations.

The toolkit is aimed at independent developers who need combat, skills, buffs, resources, cooldowns, statuses, item uses, AI actions, or interaction rules without hard-coding every rule into scene scripts.

## Is This For Me?

| If your project needs...                                                  | This toolkit helps by...                                                                               |
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| Attacks, spells, skills, item uses, or AI actions                         | Authoring reusable `AbilityDefinition` assets and running them through an `AbilitySystemComponent`.    |
| Damage, healing, buffs, debuffs, costs, cooldowns, DoTs, or passives      | Authoring `EffectDefinition` assets with modifiers, durations, stacking, conditions, and cues.         |
| Health, Mana, Stamina, Armor, Speed, or derived values                    | Defining attribute sets with base/current values, clamps, and runtime change events.                   |
| State gates such as stunned, blocking, burning, invulnerable, or silenced | Using hierarchical gameplay tags and tag queries.                                                      |
| Feedback that should not be coupled to ability code                       | Mapping gameplay cues to VFX, SFX, UI, or custom notify logic.                                         |
| Real samples before committing                                            | Inspecting the Basic Tutorial, Arena Training scene, full Arena Demo, and optional Game Creator Arena. |

| Boundary | Guidance                                                                                                                           |
| -------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| Best for | Single-player RPGs, action games, prototypes, combat systems, resource systems, and reusable gameplay rules.                       |
| Not for  | Built-in multiplayer replication, client prediction, or server-authoritative ability flow.                                         |
| Required | Cysharp UniTask 2.5+.                                                                                                              |
| Optional | Unity Input System, Game Creator, Animancer, Unity Test Framework, Unity Performance Testing, and UI/Text support used by samples. |

## Evaluate In One Sitting

1. Open `Tools > Gameplay Ability Toolkit > Dashboard`.
2. Use **Setup** and **Quick Setup** if the project is not configured.
3. Open `Tutorial/Basic/Scenes/BasicTutorial.unity`.
4. Press Play and use Light Attack, Guard, Fire Skill, Heal, and Reset once.
5. Stop Play Mode and inspect the player `AbilitySystemComponent`, `GA_*` abilities, `GE_*` effects, and `AS_*` attributes.
6. Open `Demo/Arena/Scenes/Training.unity` to try every ability without enemy pressure.
7. Open `Demo/Arena/Scenes/Arena.unity` to inspect the full combat loop.

This path shows whether the asset workflow, runtime model, and sample depth fit your project before you write custom code.

## Main Entry Points

| Goal                                             | Local doc                                                                                     |
| ------------------------------------------------ | --------------------------------------------------------------------------------------------- |
| Import the package and make an actor take damage | [Getting Started](/docs/gameplay-ability-toolkit/try-it/01-getting-started.md)                |
| Decide what to read first                        | [Manual Home](/docs/gameplay-ability-toolkit/evaluate/documentation.md)                       |
| Understand the runtime model                     | [Architecture](/docs/gameplay-ability-toolkit/build-with-it/02-architecture.md)               |
| Create ability assets and scripts                | [Authoring Abilities](/docs/gameplay-ability-toolkit/build-with-it/03-authoring-abilities.md) |
| Create effect assets and modifiers               | [Authoring Effects](/docs/gameplay-ability-toolkit/build-with-it/04-authoring-effects.md)     |
| Inspect one subsystem                            | [Subsystem Guide](/docs/gameplay-ability-toolkit/subsystems/subsystems.md)                    |
| Copy working gameplay patterns                   | [Cookbook](/docs/gameplay-ability-toolkit/build-with-it/07-cookbook.md)                       |
| Check public API surface                         | [API Reference](/docs/gameplay-ability-toolkit/build-with-it/06-api-reference.md)             |

## Samples

* **Basic Tutorial**: the first learning scene. It teaches light attack, fire skill, guard, healing, cooldowns, cues, runtime UI, and challenge tracking.
* **Arena Training**: a safe sandbox for trying Arena abilities without enemy pressure.
* **Arena Demo**: a fuller combat slice with player/enemy actors, montage playback, projectiles, buffs, costs, pickups, boss/fodder enemies, runtime HUD, event log, and VFX cues.
* **Game Creator Arena**: the same Arena-style skill loop expressed through the optional Game Creator bridge.

## Build With It

After the evaluation pass:

1. Read [Getting Started](/docs/gameplay-ability-toolkit/try-it/01-getting-started.md) to build the smallest actor/effect setup yourself.
2. Read [Authoring Abilities](/docs/gameplay-ability-toolkit/build-with-it/03-authoring-abilities.md) when you need attacks, spells, item uses, interactions, or AI actions.
3. Read [Authoring Effects](/docs/gameplay-ability-toolkit/build-with-it/04-authoring-effects.md) when you need damage, healing, buffs, DoTs, costs, cooldowns, or passives.
4. Use [Subsystem Guide](/docs/gameplay-ability-toolkit/subsystems/subsystems.md) when you know the area you are working in.
5. Use [Cookbook](/docs/gameplay-ability-toolkit/build-with-it/07-cookbook.md) when you want a copyable pattern.

## Package Notes

* Runtime namespaces and assemblies use `GameplayAbilityToolkit.*`.
* `AbilitySystemComponent`, `GASConfiguration`, and `GAS_*` define symbols are intentional technical names.
* Reader-facing docs use **Gameplay Ability Toolkit**. `GAS` appears only where the technical context makes the shorthand useful.
* Third-party art, audio, and source notices are listed in [THIRD\_PARTY\_NOTICES.md](https://github.com/dongfangliu/unity-gas-pure/blob/master/GameplayAbilityToolkit/THIRD_PARTY_NOTICES.md).


---

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