> 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/build-with-it/06-api-reference.md).

# API Reference

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

This page is a quick public API index. Use the subsystem pages for configuration, runtime flow, editor setup, mistakes, and examples.

Use this page after you know which subsystem you need. It is intentionally short: the goal is to point project code at supported entry points, not to replace source-level IntelliSense.

## How To Use This Page

1. Find the subsystem below.
2. Open the subsystem page for behavior and setup.
3. Open the listed source folder when you need exact signatures.
4. Treat types marked with `[GasPublicApi]` and documented subsystem entry points as the supported surface.

## Stability Rule

| Surface                                                               | Treat as                                                |
| --------------------------------------------------------------------- | ------------------------------------------------------- |
| Types listed in this page and documented subsystem entry points       | Supported integration surface.                          |
| `AbilitySystemComponent.Runtime*` subsystems and documented events    | Preferred runtime access for gameplay code and UI.      |
| Internal editor utilities, drawers, generated files, and test helpers | Implementation details that can change more freely.     |
| Sample scripts in Tutorial or Demo folders                            | Learning references, not required project architecture. |

## Public Surface By Subsystem

| Subsystem          | Primary types                                                                                                                                                                                                                                                | Source                            | Details                                                                                             |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------- | --------------------------------------------------------------------------------------------------- |
| Actor runtime      | `AbilitySystemComponent`                                                                                                                                                                                                                                     | `Core/AbilitySystemComponent.cs`  | [AbilitySystemComponent](/docs/gameplay-ability-toolkit/subsystems/ability-system-component.md)     |
| Configuration      | `GASConfiguration`, `GASConfigurationProvider`                                                                                                                                                                                                               | `Core/`                           | [Configuration and Dashboard](/docs/gameplay-ability-toolkit/subsystems/configuration-dashboard.md) |
| Attributes         | `AttributeSetDefinition`, `AttributeSet`, `AttributeId`, `RuntimeAttribute`, `RuntimeAttributes`, `IAttributeChangeHook`                                                                                                                                     | `Core/Attributes/`                | [Attributes](/docs/gameplay-ability-toolkit/subsystems/attributes.md)                               |
| Tags               | `GameplayTagAsset`, `GameplayTag`, `GameplayTagContainer`, `GameplayTagQuery`, `GameplayTagCountContainer`, `RuntimeTags`                                                                                                                                    | `Core/Tags/`                      | [Gameplay Tags](/docs/gameplay-ability-toolkit/subsystems/tags.md)                                  |
| Abilities          | `AbilityDefinition`, `AbilityRuntime`, `AbilitySpec`, `RuntimeAbilities`, `AbilityActivationRequest`, `AbilityActivationResult`                                                                                                                              | `Core/Abilities/`                 | [Abilities](/docs/gameplay-ability-toolkit/subsystems/abilities.md)                                 |
| Effects            | `EffectDefinition`, `EffectRuntime`, `EffectSpec`, `RuntimeEffects`, `EffectApplicationRequest`, `EffectApplicationResult`, `EffectCalculation`                                                                                                              | `Core/Effects/`                   | [Effects](/docs/gameplay-ability-toolkit/subsystems/effects.md)                                     |
| Modifiers          | `Modifier`, `ModifierSpec`, `ModifierMagnitude`, `IModifierMagnitudeCalculator`, `ModifierMagnitudeCalculatorFactory`                                                                                                                                        | `Core/Modifiers/`                 | [Modifiers and Magnitudes](/docs/gameplay-ability-toolkit/subsystems/modifiers-magnitudes.md)       |
| Core input         | `AbilityInputId`, `AbilityInputLibrary`, `AbilityInputBindingSet`, `AbilityInputQueue`, `IAbilityInputSource`, `IAbilityInputContextSource`                                                                                                                  | `Core/Input/`                     | [Core Input](/docs/gameplay-ability-toolkit/subsystems/input.md)                                    |
| Input buffering    | `AbilityActivationBufferComponent`, `AbilityActivationBufferProfile`, `AbilityActivationBufferRule`                                                                                                                                                          | `Core/Input/Buffering/`           | [Input Buffering](/docs/gameplay-ability-toolkit/subsystems/input-buffering.md)                     |
| Targeting          | `TargetCollector`, `TargetData`, `TargetData_GameObjects`, `TargetDataFilter`, `TargetDataFilterGroup`, `TraceShape`                                                                                                                                         | `Core/Targeting/`                 | [Targeting](/docs/gameplay-ability-toolkit/subsystems/targeting.md)                                 |
| Tasks              | `AbilityTask`, `AbilityTask_WaitDelay`, `AbilityTask_WaitForTargetData`, task waiters                                                                                                                                                                        | `Core/Task/`                      | [Ability Tasks and Timing](/docs/gameplay-ability-toolkit/subsystems/tasks-timing.md)               |
| Events             | `GameplayEventData`, `AbilityTriggerData`                                                                                                                                                                                                                    | `Core/Events/`, `Core/Abilities/` | [Gameplay Events](/docs/gameplay-ability-toolkit/subsystems/gameplay-events.md)                     |
| Cues               | `GameplayCueLibrary`, `GameplayCueManager`, `GameplayNotifyCueSO`, `GameplayNotifyCueBehavior`, `IGameplayCueNotify`                                                                                                                                         | `Core/Cue/`                       | [Gameplay Cues](/docs/gameplay-ability-toolkit/subsystems/gameplay-cues.md)                         |
| Montage            | `AnimationMontage`, `MontagePlayer`, `MontageTrack`, `MontageClip`, `AnimationDriverConfig`, `MontageSlotConfig`, `IAnimationDriver`                                                                                                                         | `Core/Montage/`                   | [Montage](/docs/gameplay-ability-toolkit/subsystems/montage.md)                                     |
| Runtime UI         | `AbilityItem`, `RuntimeEffectsPanel`, `RuntimeAbilityInputsPanel`, `GASWorldStatusBar`, `GASEventLog`                                                                                                                                                        | `UI/`                             | [Runtime UI](/docs/gameplay-ability-toolkit/subsystems/runtime-ui.md)                               |
| Logging            | `Logger`, `LogLevel`, `LogCategory`, `ILogBackend`                                                                                                                                                                                                           | `Core/Logging/`                   | [Logging](/docs/gameplay-ability-toolkit/subsystems/logging.md)                                     |
| Unity Input System | `InputSystemAbilityInputMap`, `InputSystemAbilityInputSource`                                                                                                                                                                                                | `InputSystem/`                    | [Unity Input System](/docs/gameplay-ability-toolkit/integrations/unity-input-system.md)             |
| Animancer          | `AnimancerAnimationDriver`                                                                                                                                                                                                                                   | `Animancer/`                      | [Animancer](/docs/gameplay-ability-toolkit/integrations/animancer.md)                               |
| Game Creator       | `GameCreatorAbilityDefinition`, `GameCreatorEffect`, `GeneralCueNotify`, `GameCreatorAbilityVisualScriptingModule`, Visual Scripting instructions, conditions, events, getters, context helpers, projectile, channel, montage, targeting, and hitbox helpers | `GameCreator/`                    | [Game Creator](/docs/gameplay-ability-toolkit/integrations/game-creator.md)                         |

## Naming Stability

The stable reader-facing product name is **Gameplay Ability Toolkit**. Code namespaces and assemblies remain `GameplayAbilityToolkit.*`.

Supported usage is centered on documented assets, components, runtime subsystem properties, and public types in the table above. Internal editor utilities, drawers, generated files, and test helpers can change more freely.

## Opening Source From A Page

Use these folder roots from `GameplayAbilityToolkit/`. `DevelopmentTests/...` entries are repository-only maintainer references and are not part of the copied package.

| Need                         | Folder                                                                                                                                                                                                                                 |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Runtime contracts            | `Core/`                                                                                                                                                                                                                                |
| Editor authoring tools       | `Core/*/Editor/` and `Core/Editor/`                                                                                                                                                                                                    |
| Optional input bridge        | `InputSystem/`                                                                                                                                                                                                                         |
| Optional Game Creator bridge | `GameCreator/`                                                                                                                                                                                                                         |
| Optional Animancer bridge    | `Animancer/`                                                                                                                                                                                                                           |
| UI helpers                   | `UI/`                                                                                                                                                                                                                                  |
| Maintainer tests             | `DevelopmentTests/GameplayAbilityToolkit/Core.Tests/`, `DevelopmentTests/GameplayAbilityToolkit/InputSystem.Tests/`, `DevelopmentTests/GameplayAbilityToolkit/UI.Tests/`, `DevelopmentTests/GameplayAbilityToolkit/GameCreator.Tests/` |

## Upgrade Routine

Before upgrading project content:

1. Read the relevant subsystem page.
2. Check whether your project code touches documented public types or internal helpers.
3. Run focused tests for the subsystem.
4. Inspect generated warnings in Unity Console with the relevant log category enabled.
5. Recheck Tutorial and Arena scenes only after focused tests pass.

## API Safety Checklist

* Keep designer data on `ScriptableObject` definitions.
* Keep actor state on specs, runtimes, or ASC-owned runtime subsystems.
* Prefer `AbilitySystemComponent.Runtime*` entry points over reaching into internals.
* Use `GameplayTag` and `AbilityInputId` assets/drawers instead of stringly typed project code where possible.
* Test custom calculators, hooks, tasks, collectors, cue notifies, and animation drivers with focused Editor tests.


---

# 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/build-with-it/06-api-reference.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.
