How to create a footprint system in 2D

You might want to look into RVTs - runtime virtual textures.

It’s a kind of render target that you can draw to during runtime that you can sample in a material.

Apply that material to your ground/landscape and put your footprint logic in that material