Ternary VertexCache¶
Bake simulations and animation into textures, then play them back on ordinary static meshes.
A Vertex Animation Texture (VAT) records motion once, at bake time, into a texture. At runtime the mesh is a plain static mesh and a material moves its vertices. There is no skeletal mesh to tick, no simulation to run, and no per-instance CPU cost — so the same animation can be drawn hundreds of times for close to the price of drawing it once.
What you can bake¶
| Type | Source you supply |
|---|---|
| Rigid Body (Compound) | Static mesh actors with physics, or a Chaos Geometry Collection |
| Rigid Body (Instanced / ISM) | The same, when every piece shares one mesh — plays back GPU-instanced |
| Soft Body | A skeletal mesh or Chaos cloth actor, simulated in the editor |
| Soft Body (Anim Sequence) | A Skeletal Mesh + Anim Sequence asset pair — no simulation needed |
| Particle | A Niagara system, played back through a Niagara data interface |
| Fluid (Geometry Cache) | An Alembic Geometry Cache whose topology changes per frame |
See Bake types for what each produces and its limits.
Requirements¶
- Unreal Engine 5.7, Windows 64-bit
- The Niagara and Geometry Cache plugins (both ship with the engine; Ternary VertexCache enables them automatically)
Everything runs in-editor. There is no Houdini dependency and no external round-trip.
Install¶
From Fab — install to the engine from your Epic library, then enable Ternary VertexCache in Edit ▸ Plugins and restart.
Manual — copy the TernaryVertexCache folder into your project's Plugins/ directory (create it
if needed), then enable the plugin in Edit ▸ Plugins and restart.
What a bake produces¶
Every bake writes a set of assets into the output path you choose, all named from your Asset Name:
| Asset | Name | Produced for |
|---|---|---|
| VAT data asset | <Name> |
every type |
| Position texture | <Name>_Position |
every type |
| Rotation texture | <Name>_Rotation |
Rigid Body |
| Normal/tangent texture | <Name>_NormalTangent |
Both Soft Body types, Fluid |
| Playback mesh | <Name>_Mesh |
every type except Particle |
The data asset is the one you assign in your material — it carries everything the decode node needs. The playback mesh is what you place in the level.

Opening the data asset shows what was baked: which textures and mesh it produced, and its layout — frame count, frame rate and Unit Count, the last of which you'll need when setting up Niagara particle playback.
Re-baking over an existing asset reuses it in place, so materials and placed actors keep working.
Next steps¶
- Quick start — a complete bake in a few minutes.
- Materials — wiring the decode node. Read this before your first bake plays back; each type has specific material settings it requires.
- Troubleshooting — if something looks wrong.