Retro Video FX — Quick Guide
Retro Vision Pro effects are Post Process Materials. Each effect also includes a ready-to-use Material Instance located next to the material.
- Add a Post Process Volume
- Place a Post Process Volume in your level.
- If you want the effect to apply everywhere, enable: Infinite Extent (Unbound)
- Add an Effect Instance to the Volume
- Select the Post Process Volume.
- Find the Post Process Materials array: Details -> Rendering Features -> Post Process Materials (The exact section name may vary by UE version.)
- Click "+" to add a new slot.
- Set the slot type to Asset Reference (if required).
- Assign the Material Instance of the effect you want (for example "M_NTSC_Bleed_Classic").
- Adjust the Effect Settings
- Open the chosen Material Instance (MI_*).
- Modify the parameters (sliders / toggles) in the instance.
- Changes update in real time in the viewport and in Play mode.
- Stack Multiple Effects (Optional)
- Add more slots to the Post Process Materials array.
- Assign additional Material Instances for other effects.
- Use the order in the array to control which effect is applied first/last (results may vary per effect).
Notes
- Use Material Instances for editing. Do not edit master materials unless you want to change the shader itself.
Effects :
1) VHSSCANLINES
What it does Adds moving scanline bands, wobble, and optional lens warp.
Start Values
Scanline Density: 1.0Band Scroll Speed: 0.5Blend Amount: 0.6Jitter Divisor (wobble): 8–16Fisheye Spherical: 0.15Barrel: 0.05Scale: 1.0
How to tune
ScanlineColor: dark gray = classic CRT; small tint = mood.- Density ↑ = more, thinner lines. Density ↓ = fewer, thicker lines.
- Speed 0.2–1.0 looks real; very high looks glitchy.
- Wobble: small divisor = strong wobble; big divisor = subtle.
- Fisheye/Barrel: small values feel real; 0 = no lens warp.
- Fade: 0 = off, 1 = full. For games, try 0.4–0.7.
Notes
- Horizontal pass = CRT scanlines.
- Vertical pass = TV tracking vibe.
- Performance: light; very high Density costs more.
2) VHS_TWITCH
What it does Short bursts of left-right shakes and up-down slips (tracking issues).
Core Controls
_Amount— final blend 0..1._Speed— makes all bands faster or slower._BurstInterval— time (sec) between active windows._AmpH— strength of horizontal shake._AmpV— strength of vertical slip.
Tips
- For games, keep
_Amountaround 0.5–0.8. - Larger
_BurstInterval= calmer look.
3) VHS_STRETCH
What it does Stretches rows into 2–6 moving bands.
How to use
- Start with ClassicThreeBand (1). Blend ≈ 0.6–0.75.
- Strong retro: StrongSixBand (9) (keep other effects low).
- Calm mood: SlowTwoBandSweep (4) or SlowThreeBand (6).
- Energetic: FastThreeBandSweep (5); can sync speed to music.
Combine
- Add scanlines + small chroma bleed + analog noise for full tape feel.
4) JITTER VERTICAL
What it does Continuous small shake (not bursty).
Start
jitterHAmount 1.65,jitterHSpeed 0.8jitterVAmount 0.95,jitterVSpeed 1.15
Tips
- For stronger VHS, raise both amounts, add scanlines + analog noise.
5) JITTER HORIZONTAL
What it does Continuous small shake (not bursty).
Start
jitterHAmount 1.65,jitterHSpeed 0.8jitterVAmount 0.95,jitterVSpeed 1.15
Tips
- For stronger VHS, raise both amounts, add scanlines + analog noise.
6) Tape Distortion
What it does Horizontal wobble bands that scroll.
Controls
Fade— final mix 0–1.waveAmount— global wobble.tapeIntensity— strength inside bands.tapeSpeed— scroll speed.TapeFreq— number of bands.TapeWidth— band thickness.TapeFeather— soft band edges.
Tips
- Few wide bands = heavy damage.
- Many thin bands = light tracking.
7) Signal Noise
What it does Adds color noise blocks.
Recommended
- TV static:
amount 1.2,power 0.9. - Heavy glitch:
amount 2.0,power 0.9.
Fix
- If picture turns green/magenta, lower
signalNoiseAmountorsignalNoisePower.
8) Tape Noise
What it does Moving tape lines and blocky noise.
Controls
Fade— mix with original.Noise Amount— strength (lower value = more noise, if inverted scale).Noise Speed— how fast it moves.Lines Amount— how many lines.Signal Processing— coarse vs smooth blocks.Stretch Resolution (X)— block width.Vertical Resolution (Y)— block height.
Tip
- Want bigger blocks? Lower both resolutions.
9) Filmgrain
What it does Adds film-like grain.
Tips
- Keep grain small. Very big grain looks like TV snow.
- Match grain to resolution (higher res → slightly larger grain).
10) Line Noise
What it does Fine bright/dark lines that move.
Tips
- Use a small
Amountfor thin, clean lines. - Pairs well with VCR Ghosting for a broadcast feel.
11) Bleed3Phase
What it does 1990s-era 3-phase NTSC coefficients: wider luma/chroma dynamic range with a punchier, cleaner bleed compared to vintage decoders.
12) BleedOldPhase
What it does Classic 3-phase NTSC as on early VHS/CRT playback: softer luma and stronger chroma bleed with that characteristic “walking” color on edges.
13) Bleed2Phase
What it does 2-phase NTSC model from later decoders: tighter luma/chroma separation, reduced color crawl, and cleaner edges.
14) NTSC Codec
What it does
It rebuilds composite NTSC: converts RGB → YIQ, modulates chroma on the 3.579545 MHz subcarrier, runs simple horizontal filters (luma notch + LPFs for I/Q), then decodes back to RGB. The result: authentic color bleed, rainbowing on edges, softer detail.
-
Amount — final mix (0–1). 0=off, 1=full. Start 0.6–0.8; HUD 0.3–0.5.
-
LineScanTimeOffset — tiny scan-time shift (≈ −6…+6; small steps). ↑ = more rainbow/bleed; ↓ = tighter luma.
-
LinePhaseRandomness (Vector2) — per-line phase variance (use Random.Range(x,y)). 0=stable; 0.3–0.8=tape-like; >1=flickery.
-
LumaGain — post-decode luma gain. Typical 0.9–1.2; lower if highlights clip.
-
ChromaSaturation — I/Q amplitude in composite path. Typical 0.8–1.8; higher = more color bleed/rainbowing.
-
LumaBlurWidth — horizontal luma blur reach. Practical 0.5–2.0; lower=crisper, higher=softer/more bleed.
Tips
- Broadcast Clean:
Amount=0.55, ChromaSaturation=1.0, LumaBlurWidth=0.8, LumaGain=1.0, LineScanTimeOffset=0, LinePhaseRandomness=(0.0,0.1)
- VHS Classic:
Amount=0.80, ChromaSaturation=1.35, LumaBlurWidth=1.6, LumaGain=1.05, LineScanTimeOffset=+2, LinePhaseRandomness=(0.6,0.8)