Skip to content
tcwilsonart edited this page Jun 13, 2026 · 4 revisions

TensionFX

Real-time stretch & squash shading for Unreal Engine 5.

TensionFX measures how much your mesh is stretching or squashing right now, every frame, on the GPU — and hands that value to your materials so they can react: wrinkles, blush, roughness shifts, color changes, detail normals, whatever you wire up.

Worm squash/stretch demo Watch a trailer / tutorial here: TensionFX - Real-Time Strain Maps in Unreal Engine -- Trailer & Tutorial


What is it? (the 5-second version)

Skin gets shiny and tight when you stretch it, and crinkly and dull when you squeeze it. TensionFX gives your shaders a live "how stretched is this spot" number so you can paint those reactions in.

What makes it different

Most "wrinkle" systems (including MetaHuman's built-in one) are animation-driven — someone has to rig each expression, and they only know about poses that were authored.

TensionFX is geometric. It looks at the actual deformed mesh and measures real edge-length change. It works on skeletal meshes (which have a rest pose to measure against), reacting to:

  • Skeletal animation / skinning
  • Morph targets & ARKit blendshapes
  • ML Deformer output

No rigging of individual expressions. If the mesh deforms, TensionFX sees it.

Alembic / geometry caches are not supported — they ship pre-animated, with no rest pose for the solver to compare against.

Where to get it

Currently only available in the Fab Marketplace: TensionFX - Live Strain Maps

How you read it in a material

The solver writes a per-vertex value you read in your material:

Mesh type Stretch Squash Why
Standard meshes Vertex Color Red Vertex Color Green Free RG channels
MetaHumans Vertex Color Red Vertex Color Alpha Green & Blue are already in use (tangent-recompute mask), so squash moves to Alpha

From there it's just material math — drive roughness, albedo, normals, etc.


Compatibility

Built and verified on UE 5.4, 5.5, 5.6, 5.7 (PC / DirectX 12, Shader Model 6).

Requires the Deformer Graph plugin


Start here

  1. Installation & Setup — add it from Fab, enable the Deformer Graph plugin, tour the folders.
  2. Quick Start: the Examples level — open one level, hit Play, see it working.
  3. Use it on your own mesh — the basic workflow on a normal skeletal mesh.
  4. MetaHumans — the (slightly more involved) MetaHuman workflow.
  5. Material Controls & Tuning — every knob and how to dial it in.
  6. How It Works — what's inside the Deformer Graphs.
  7. Troubleshooting & Known Issues — the quirks and fixes.

Clone this wiki locally