Works in Unreal Engine 5.1 to 5.8 (“Has Pixel Animation” needs 5.2 or later). Updated October 2026.
Quick answer: Ghosting means TSR doesn’t know how a pixel moved, so it blends in an old frame in the wrong place.
- Translucent material (glass, water, particles)? Open the material and tick Output Velocity in the Translucency section.
- Mesh moved by its material (wind, World Position Offset, vertex animation)? In Project Settings, search for “velocities” and enable Output velocities due to vertex deformation.
- Panning or animated texture (screens, scrolling water)? Tick Has Pixel Animation in the material.
- Still smearing? Try
r.TSR.ShadingRejection.Flickering 0in the console.
Why TSR ghosts
TSR (Temporal Super Resolution) smooths edges by mixing the current frame with previous frames. To line the frames up, each pixel reports how far it moved since the last frame. This is called its velocity, or motion vector.
When a pixel moves but reports no velocity, TSR mixes in what was there last frame and you get a trail. The usual culprits are translucent materials, meshes moved by their material, textures that animate, low frame rates and low screen percentages. TAA, the older method, ghosts for the same reasons.
Step 1: Give translucent materials a velocity
By default, translucent materials don’t write velocity, so TSR can’t follow them.
- Open the material.
- In Details > Translucency, tick Output Velocity.
- Save, and check the trail in the viewport again.
Do this on the materials of translucent particles too.
Step 2: Meshes moved by their material
Wind on foliage, waving flags and vertex animation all move the mesh inside the material (World Position Offset). Unreal only records that movement when vertex deformation velocity is enabled.
- Open Edit > Project Settings.
- Type “velocities” in the search box.
- Enable Output velocities due to vertex deformation and restart if asked.
Step 3: Animated textures
A panning texture changes the pixels without moving the mesh, so there’s no velocity to report. TSR may decide the change is flicker and smooth it out, which smears it. In UE 5.2 and later, tick Has Pixel Animation in the material’s Details panel. TSR then treats the change as intended.
Step 4: Turn off the flicker heuristic
TSR has a setting that calms flickering pixels by trusting older frames more. That can add ghosting on bright, fast-changing areas. Test without it:
r.TSR.ShadingRejection.Flickering 0
If the ghosting goes away but thin details start to shimmer, you have to choose between the two. To keep the setting, add it under [SystemSettings] in Config/DefaultEngine.ini.
Is it really TSR?
| What you see | Real cause |
|---|---|
| Dark or bright trail of light behind a moving character | Lumen updating slowly, not TSR. See Lumen fixes. |
| Everything streaks when the camera turns | Motion blur. Set Motion Blur Amount to 0 in a Post Process Volume. |
| Trails only at low resolution or low FPS | TSR has too little information. Raise the screen percentage or the frame rate. |
FAQ
Should I switch to FXAA to get rid of ghosting?
FXAA doesn’t ghost, but it leaves jagged, shimmering edges. Fixing velocity is usually the better trade.
Do DLSS or FSR ghost less?
They are good alternatives and worth testing in your scene. They also use motion vectors, so the steps above help them too.
Does ghosting show up in Movie Render Queue?
Less often. With several temporal samples per frame, Movie Render Queue can render clean motion even when the editor viewport ghosts.