> 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-animation-data.md).

# VAT Animation Data

<figure><img src="/files/cMrAmqftwytkU4ea4wA4" alt=""><figcaption></figcaption></figure>

Each baked animation clip creates one VATAnimationData asset. For example, if you bake Idle, Walk, and Run, VATMachine will create separate VATAnimationData assets for each of them.

Example:

* Idle\_VATAnimationData
* Walk\_VATAnimationData
* Run\_VATAnimationData

These assets are used inside the VAT Animator Graph as animation states or blend tree motions.

### What VATAnimationData Contains?

A VATAnimationData asset stores all the information VATMachine needs to play one baked animation.

You usually do not need to edit this asset manually.

### Generated Textures&#xD;

VATAnimationData references the texture arrays generated during baking.

The most important texture is the Position VAT texture. This stores the animated vertex positions.

Depending on your bake settings, the asset may also reference:

* Normal VAT texture
* Tangent VAT texture
* Packed Basis VAT texture

Position data is always required.

Normal, tangent, or packed basis data is optional and depends on whether you enabled normal and tangent baking.

### Frame Count and Sample Rate

VATAnimationData stores how many frames were baked and what sample rate was used.

For example:

* A 1 second clip baked at 30 sample rate will have around 31 baked frames.
* A 2 second clip baked at 30 sample rate will have around 61 baked frames.

Higher sample rates produce smoother animation, but also create larger textures.

### Loop Setting&#xD;

The Loop value is stored in the VATAnimationData and is used when creating animation states.

Looping clips such as Idle, Walk, Run, or Dance should usually loop.

One-shot clips such as Jump Start, Attack, Hit Reaction, or Death usually should not loop.

You should control the final loop behaviour from the VAT Animator Graph state.

### LOD and Part Data&#xD;

If the animation was baked with LODs or multiple renderers, VATAnimationData stores that layout.

This allows one VATAnimator to know which part of the texture belongs to:

* LOD 0
* LOD 1
* LOD 2
* Body renderer
* Hair renderer
* Equipment renderer
* Other character parts

This is why animations that need to blend together should be baked with the same source mesh, same LOD setup, and same renderer part setup.

### Socket Data

If you selected socket targets during baking, socket animation data is stored inside VATAnimationData.

This allows VATAnimator and VATSocketLink to sample attachment points at runtime.

If an animation does not contain a socket, that socket cannot be sampled while that animation is active.

### Important Notes

Do not rename or move the generated texture assets without keeping the VATAnimationData references intact.

Do not manually replace textures unless you know exactly what you are doing.

If you change the source mesh, animation clip, sample rate, LOD setup, socket setup, or normal/tangent settings, rebake the animation.

For best blending results, bake all animations for the same character using the same source setup.

VATAnimationData is not an Animator Controller. It is the baked data for one animation. Use the VAT Animator Graph to control how multiple VATAnimationData assets play together.


---

# 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-animation-data.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.
