Heatmap Effect Help

There are ~400–1,200 agents moving across a ground surface.
I sample their positions every 100 ms and want to accumulate them into a 0–1 intensity map to drive a color ramp (heatmap).

What I’ve tried is runtime vertex-paint workflow across all hit locations, but it’s extremely slow and introduces significant latency.

Should I rasterize agent positions into a texture each tick and accumulate into a render target (i.e., a texture-based approach similar in spirit to runtime vertex paint)?

Or is it better to use Niagara to write/accumulate directly into a render target? If so, what’s the recommended setup?