Glossary
What is a Vertex Animation Texture?
A Vertex Animation Texture — VAT — is motion recorded into a texture instead of computed at
runtime. Each frame of an animation is stored as a row of pixels, one per moving thing, and a
material reads that texture in the vertex shader to push vertices into position.
The point is cost. Playback needs no skeletal mesh, no simulation, and no per-instance CPU work — a
VAT is a static mesh and a material — so the same animation can be drawn hundreds of times for close
to the price of drawing it once. That is why VATs are used for crowds, destruction, and effects that
appear many times at once.
The trade is that the motion is fixed at bake time. A VAT replays exactly what was captured, every
time, which is a limitation for gameplay-reactive motion and an advantage for anything that has to
land identically on every take.
The technique
| Term |
Meaning |
| Bake |
Recording a simulation or animation into textures. Done once, in the editor. See Baker panel. |
| Unit |
The thing a bake stores motion for — a rigid-body piece, a mesh vertex, or a particle, depending on the bake type. |
| Rest pose |
The pose every stored movement is measured from. A VAT stores offsets from it, never absolute positions. |
| Frame |
One captured moment. Playback interpolates between frames, so the number driving it need not be whole. |
| Frame Step |
Storing every Nth frame instead of all of them. Fewer frames, smaller textures, same playback duration. |
| Seamless loop |
A bake whose last frame blends back into its first, so a cycle repeats without a hitch. See Auto-trim loop. |
What a bake produces
| Term |
Meaning |
| Data asset |
The UVATAsset holding everything the material needs — frame count, rate, unit count and the textures. This is what you assign to a decode node. |
| Playback mesh |
The static mesh generated by the bake. Place this in the level, not your original. |
| Position texture |
Where each unit is on each frame, as an offset from the rest pose. |
| Normal/tangent texture |
Surface orientation per frame, so lighting follows the deformation. Soft Body and Fluid bakes. |
| Rotation texture |
A rotation per piece per frame. Rigid Body bakes only. |
| Unit Count |
How many units a bake stores. Needed when setting up Niagara playback. |
| Max Displacement |
The furthest any unit travelled during the bake. The material uses it to decode distances. |
In the material
| Term |
Meaning |
| Decode node |
The material node that reads a VAT and outputs the movement. One per bake type. |
| World Position Offset (WPO) |
Unreal's material output that moves vertices. Every VAT drives it. |
| Vertex Interpolator |
A material node forcing evaluation in the vertex shader. Required on every decode node's Normal output. |
| Frame input |
The number deciding which frame you see. Drive it from Time, or from the CPU. See Driving playback. |
| Custom Primitive Data |
Per-actor float values readable in a material without a material instance. How CPU-driven playback passes the frame number. |
| Motion vectors |
What temporal anti-aliasing uses to know where a pixel was last frame. A VAT driven from the CPU needs PrevFrame connected to report them. |
| Tangent Space Normal |
A material setting deciding what space the Normal output is in. Each decode node requires a specific value and refuses to compile otherwise. |
Sources you can bake from
| Term |
Meaning |
| Chaos |
Unreal's physics and destruction system. Rigid Body and Soft Body bakes capture it running in the editor. |
| Geometry Collection |
A Chaos fracture asset. One source for a Rigid Body bake. |
| Geometry Cache |
An imported Alembic (.abc) cache. Sampled straight from the asset, with no play session. See Importing an Alembic cache. |
| Alembic |
An interchange format for baked geometry, exported from Houdini, Blender, Maya and others. |
| Niagara |
Unreal's effects system. The source for a Particle bake, and how particle VATs play back. |
| Persistent IDs |
A Niagara setting giving each particle an identity that survives between frames. Required for a Particle bake. |
Playback options
| Term |
Meaning |
| Instanced (ISM) |
A Rigid Body bake where every piece shares one mesh, drawn GPU-instanced. |
| Nanite |
Unreal's virtualised geometry. Must be chosen at bake time — it cannot be enabled on a baked mesh afterwards. |
| LODs |
Reduced-detail versions of the playback mesh. Generate them in the baker; the engine's own simplifier corrupts a baked mesh. |
| Texture precision |
How many bits each stored value gets — 24, 64 or 128. Higher is more accurate and larger. |