> For the complete documentation index, see [llms.txt](https://finite-machine-studio.gitbook.io/vatmachine-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://finite-machine-studio.gitbook.io/vatmachine-documentation/vat-animator-graph.md).

# VAT Animator Graph

<figure><img src="/files/HRcYsSbwEZETqg3GMwts" alt=""><figcaption><p>VAT Animator Graph</p></figcaption></figure>

It works very similarly to Unity’s Animator Controller. If you already understand Unity’s Animator window, then the VAT Animator Graph should feel familiar.

You use it to create animation states, connect transitions, add parameters, create blend trees, and control which VATAnimationData asset plays.

### Opening the VAT Animator Graph

<div align="left"><figure><img src="/files/ikHzzAWJvWVfbdgyGT4O" alt="" width="375"><figcaption><p>Tools > VAT Machine > VAT Animator Graph</p></figcaption></figure></div>

Open the graph window from:

`Tools > VAT Machine > VAT Animator Graph`

You can create a new graph from the graph window, or create one from the Project window.

A VAT Animator Graph asset is assigned to the VATAnimator component on your VAT prefab.

### Core States

<div align="left"><figure><img src="/files/dJLN3Z8MxuUWt9ckaElH" alt="" width="361"><figcaption><p>Core States</p></figcaption></figure></div>

Every VAT Animator Graph contains three special states:

1. Entry: This is where the graph starts.
2. Any State: This is used for transitions that can happen from multiple states.
3. Exit: This is used to leave the current flow and return through Entry again.

These work in a similar way to Unity’s Animator Controller.

### Animation States

Animation states are the main states in the graph.

Each animation state references one VATAnimationData asset.

You can set whether the state loops, adjust its playback speed, and add animation events.

### Default State

<div align="left"><figure><img src="/files/N8juITgXCA8RWsHjq90V" alt="" width="303"><figcaption><p>Default State</p></figcaption></figure></div>

A graph needs a default state.

The default state is the first animation that plays when the VATAnimator starts.

For example, most characters use Idle as the default state.

You can right-click a state and set it as the default state.

### Transitions

<div align="left"><figure><img src="/files/Axq73mOElvob4SbgxXvT" alt="" width="375"><figcaption><p>Transition</p></figcaption></figure></div>

Transitions connect one state to another.

They work similarly to Unity Animator transitions.

A transition can use:

* Duration
* Exit time
* Offset
* Conditions
* Priority
* Interruption source

You do not need to relearn a new transition system if you already know Unity’s Animator. The idea is the same: parameters and exit times decide when the animation changes.

### Parameters

<div align="left"><figure><img src="/files/hIDxNMn1Him0OWuAImZL" alt="" width="287"><figcaption><p>Parameters</p></figcaption></figure></div>

VAT Animator Graph supports three parameter types:

* Bool
* Float
* Trigger

### Blend Trees

<div align="left"><figure><img src="/files/yCJY9hlxNTk3Vlest89t" alt="" width="346"><figcaption><p>Blend Tree</p></figcaption></figure></div>

VATMachine supports 1D blend trees.

These are useful for locomotion-style blending.

The blend tree uses a Float parameter to blend between these motions.

This works similarly to Unity’s 1D blend trees.

### Animation Events

<div align="left"><figure><img src="/files/p76VrgZanBUuNMGLb1dY" alt="" width="375"><figcaption><p>Animation Event</p></figcaption></figure></div>

VAT Animator Graph has its own event system.

You can place events on:

* Animation states
* Blend tree motions

Events are useful for things like:

* Footsteps
* Landing sounds
* Attack hit frames
* Weapon pickup
* Weapon placement
* VFX spawning

These events are stored in the VAT Animator Graph, not inside Unity AnimationClips.

### Preview

<div align="left"><figure><img src="/files/SP9s83pbjM4verQiY51i" alt="" width="375"><figcaption><p>Preview Window</p></figcaption></figure></div>

The graph window includes preview tools.

You can preview:

* Animation states
* Blend trees
* Transitions

This helps you test VAT animations in Edit Mode before entering Play Mode.

### How It Is Different From Unity Animator?

The VAT Animator Graph is similar to Unity’s Animator Controller, but it plays VATAnimationData instead of normal AnimationClips.

Important differences:

* It controls GPU-baked VAT animations.
* It does not use SkinnedMeshRenderer playback.
* It does not play normal AnimationClips directly.
* It does not use Unity's Animator's layers or avatar masks.
* It uses VATMachine’s own animation events.
* It is assigned to a VATAnimator component, not a Unity Animator component.

So, the workflow feels familiar, but the graph is made specifically for VATMachine playback.


---

# 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, and the optional `goal` query parameter:

```
GET https://finite-machine-studio.gitbook.io/vatmachine-documentation/vat-animator-graph.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
