UE5 / Core Pack

UV Motion Pack for UE5

Reusable UV animation logic for panners, rotation, polar flow, directional streaks, and time-based pulses.

UE5 first

Core Pack

UE5 is the source of truth here. Keep the graph readable first, then branch into project-specific versions only when the base is proven.

01

Goal

Target: Reusable UV animation logic for panners, rotation, polar flow, directional streaks, and time-based pulses.

02

Use Cases

Core PackEnergy sheets and spell loopsUse when a card needs believable motion that can be slowed, reversed, or offset per instance.
Core PackScrolling fire, water, smoke, or hologram layersBest for layered textures where each layer needs its own direction, speed, and scale.
Core PackPortal swirl, beam travel, and moving masksKeeps travel direction readable instead of hiding all motion inside noisy breakup.

03

Core Blocks

1. Panner and speed control

Check the motion in grayscale before color. Timing problems are much easier to see when the texture is not glowing yet.

Why: motion should be readable from the gameplay camera, not only inside the material preview.

2. Rotating UVs

Keep the center, radius, and edge width controllable. Circular effects fall apart quickly when those values are buried.

Why: radial signals are reused across portals, shields, runes, and hit pulses.

3. Polar coordinates

Keep the center, radius, and edge width controllable. Circular effects fall apart quickly when those values are buried.

Why: radial signals are reused across portals, shields, runes, and hit pulses.

4. Directional flow masks

Preview this signal alone and make sure its range is useful before it drives color, opacity, or emission.

Why: a clean mask makes later tuning feel deliberate instead of guesswork.

5. Pulse and phase offsets

Check the motion in grayscale before color. Timing problems are much easier to see when the texture is not glowing yet.

Why: motion should be readable from the gameplay camera, not only inside the material preview.

04

Node Graph Flow

Input dataShape signalAnimateRemap colorControl alphaOutput

Start from the signal

Get a clean black-and-white read first; color, glow, and distortion should only support that read.

Expose decisions

Every exposed value should answer a real art question: how fast, how wide, how bright, how soft.

05

HLSL Equivalent

float shaped = smoothstep(threshold - softness, threshold + softness, inputMask);
float edge = shaped * (1.0 - smoothstep(edgeWidth, edgeWidth + softness, abs(inputMask - threshold)));
return float2(shaped, edge);

06

Artist Controls

07

Production Notes

Production check: keep the read clean, then measure cost in the scene where it actually ships.
  • Preview masks by themselves before judging the finished color.
  • Name parameters the way an artist would search for them in a Material Instance.
  • Keep a cheaper instance for background, crowd, or repeated usage.
  • Write down the gotchas while they are still fresh.