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.
UE5 / Core Pack
Reusable shaping logic for thresholds, smoothstep masks, radial masks, sphere masks, and controllable edge bands.
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
02
03
Treat this as a named building block, not a hidden math island. It should be easy to preview, tune, and reuse.
Why: small readable parts make the final graph easier to review and extend.
Use this to protect the silhouette first. Edge response should help the form read before it becomes decoration.
Why: rims and contact lines are usually the cheapest readability fix in a busy scene.
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.
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.
Use this to protect the silhouette first. Edge response should help the form read before it becomes decoration.
Why: rims and contact lines are usually the cheapest readability fix in a busy scene.
04
Get a clean black-and-white read first; color, glow, and distortion should only support that read.
Every exposed value should answer a real art question: how fast, how wide, how bright, how soft.
05
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
07