Quick answer: Call UKismetRenderingLibrary::ClearRenderTarget2D(this, RT, ClearColor) before each frame’s draw. RTs persist by design; clear when you want a fresh canvas.
RT shows traces of previous frames stacked on top of each other. RT wasn’t cleared between draws; the canvas accumulated.
The Symptom
Drawing to RT each frame produces a smear of every previous frame’s content. Looks like motion-blur but unwanted.
The Fix
void AMyActor::DrawToRT()
{
UKismetRenderingLibrary::ClearRenderTarget2D(this, RT, FLinearColor::Transparent);
UKismetRenderingLibrary::DrawMaterialToRenderTarget(this, RT, DrawMat);
}
Clear, then draw. Each frame starts fresh.
BP Equivalent
BP graph:
Clear Render Target 2D(RT, ClearColor)
Draw Material to Render Target(RT, Material)
Verifying
RT shows current frame only. Without clear: accumulates. Use Show RenderTargets in editor to inspect live.
“Clear before draw. RT stays current.”
Related Issues
For UObject GC mid-task, see UObject GC. For Niagara skeletal stale, see skel data.
Clear. Draw. Repeat. RT clean.