> 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/subsystems/configuration-dashboard.md).

# Configuration and Dashboard

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

Configuration is split between project-level assets and actor-level components. `GASConfiguration` is the main project asset; the Dashboard helps create it, assign defaults, inspect optional integrations, and jump to authoring tools.

![Unity Editor screenshot of the dashboard Setup page.](/files/DhEqLyp4g8f3INfnUM9i)

## What It Does

`GASConfiguration` stores defaults that many subsystems need:

| Field                          | Purpose                                                                                  |
| ------------------------------ | ---------------------------------------------------------------------------------------- |
| `defaultCueLibrary`            | Global cue tag to cue notify mapping.                                                    |
| `defaultTagAsset`              | Global gameplay tag catalog used by drawers and validation.                              |
| `defaultPoolSettings`          | Default gameplay cue pool size, prewarm count, and maximum size.                         |
| `loggingSettings`              | Logging enable flag, minimum level, categories, and Unity Console backend flag.          |
| `defaultInputLibrary`          | Project-wide logical input list.                                                         |
| `targetConfirmInput`           | Logical input used by targeting confirmation flows.                                      |
| `targetCancelInput`            | Logical input used by targeting cancellation flows.                                      |
| `defaultAnimationDriverConfig` | Optional montage animation driver config. Null uses the built-in Unity Playables driver. |

## When To Use It

Use the configuration page whenever:

* You imported the toolkit into a project for the first time.
* Tag, input, cue, or montage drawers show missing default assets.
* You want one default input library for all actors.
* You need to switch the default montage animation backend.
* Logging output is too quiet or too noisy.

## Editor Setup

1. Open `Tools > Gameplay Ability Toolkit > Dashboard`.
2. Select the `Setup` page.
3. Click `Create` next to the missing `GASConfiguration` if no configuration asset exists.
4. Create or assign the default tag asset, cue library, and input library from the same page.
5. Open each assigned asset with `Select` and inspect its fields in the Inspector.
6. If optional packages are installed, open their Dashboard pages and run their setup checks.

The Dashboard is registered by editor code. The root menu item is:

```
Tools > Gameplay Ability Toolkit > Dashboard
```

## Dashboard Pages

| Page      | What readers should use it for                                                                                                      |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| Setup     | Create or select `GASConfiguration` and required project defaults.                                                                  |
| Abilities | Create ability scripts/assets and inspect ability authoring status.                                                                 |
| Effects   | Create effect scripts/assets and inspect effect authoring status.                                                                   |
| Input     | Wire `AbilityInputLibrary`, `InputSystemAbilityInputMap`, and scene input sources when the optional Input System module is present. |
| Cues      | Create cue notify scripts/assets and configure the cue library.                                                                     |
| Montage   | Open montage tooling and configure slot/driver assets.                                                                              |

## Required Project Assets

| Asset                   | Create path                                                                      | Required?                                              |
| ----------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------ |
| `GASConfiguration`      | `Assets > Create > Gameplay Ability Toolkit > GAS Configuration`                 | Yes for project defaults.                              |
| `GameplayTagAsset`      | `Assets > Create > Gameplay Ability Toolkit > Gameplay Tag Asset`                | Strongly recommended.                                  |
| `GameplayCueLibrary`    | `Assets > Create > Gameplay Ability Toolkit > Gameplay Cue Library`              | Required for cue playback.                             |
| `AbilityInputLibrary`   | `Assets > Create > Gameplay Ability Toolkit > Input > Ability Input Library`     | Required for named input authoring.                    |
| `AnimationDriverConfig` | `Assets > Create > Gameplay Ability Toolkit > Montage > Animation Driver Config` | Optional.                                              |
| `MontageSlotConfig`     | `Assets > Create > Gameplay Ability Toolkit > Montage > Slot Config`             | Optional, but useful for upper-body or additive slots. |

## Configuration Fields

### Cue Defaults

`defaultCueLibrary` is the cue lookup used by runtime cue dispatch. `defaultPoolSettings` controls fallback pooling behavior for instanced cue prefabs. Use small prewarm values in development and raise them only when a cue is frequently spawned.

### Tag Defaults

`defaultTagAsset` lets tag drawers, search windows, and validation tools work from one catalog. Keep this asset stable and use redirects when replacing old tag names.

### Input Defaults

`defaultInputLibrary` defines logical input names such as `Ability1`, `Ability2`, `TargetConfirm`, and `TargetCancel`. These are not keyboard keys. Physical binding is handled by an input source or optional Input System map.

### Logging Defaults

`loggingSettings` controls whether logs are emitted, which categories are enabled, and which level is used globally or per category. Start with `Info` while learning, switch noisy categories to `Warning` in production scenes, and temporarily enable category-specific detail when debugging.

### Montage Defaults

`defaultAnimationDriverConfig` is used when a `MontagePlayer` has no local driver config. Leave it null to use the built-in Unity animation driver.

## Runtime Flow

```mermaid
flowchart LR
    Dashboard["Dashboard setup"] --> Config["GASConfiguration"]
    Config --> Tags["defaultTagAsset"]
    Config --> Inputs["defaultInputLibrary"]
    Config --> Cues["defaultCueLibrary"]
    Config --> Logging["loggingSettings"]
    Config --> Montage["defaultAnimationDriverConfig"]
    Tags --> Drawers["Editor drawers and validation"]
    Inputs --> InputQueues["AbilityInputQueue authoring"]
    Cues --> CuePlayback["Gameplay cue playback"]
    Logging --> Console["Unity Console output"]
    Montage --> MontagePlayer["MontagePlayer driver selection"]
```

## Debugging Checklist

* If tag pickers are empty, confirm `defaultTagAsset` is assigned.
* If cue effects do not play, confirm `defaultCueLibrary` has a mapping for the cue tag.
* If targeting confirm/cancel does not work, confirm `targetConfirmInput` and `targetCancelInput` exist in the input library.
* If logs are missing, confirm `enableLogging`, `minLogLevel`, and `enabledCategories`.
* If montage playback uses the wrong driver, inspect `defaultAnimationDriverConfig` and the local `MontagePlayer.driverConfig`.

## Examples and Tests

* Dashboard usability tests: `DevelopmentTests/GameplayAbilityToolkit/Core.Tests/Editor/GASEditorUsabilityTests.cs`.
* Configuration provider tests: `DevelopmentTests/GameplayAbilityToolkit/Core.Tests/Editor/Configuration/ConfigurationProviderContractTests.cs`.
* Setup health tests: `DevelopmentTests/GameplayAbilityToolkit/Core.Tests/Editor/GASSetupHealthWindowQuickSetupTests.cs`.


---

# 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/subsystems/configuration-dashboard.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.
