Foot Imprint using set pixels?

I’m a new developer and I’m close to finishing a 3D game I’ve been working on, but I have hit a wall.
And before i tell you my goal, believe me, I already know that SetPixels is bad for runtime, and no, I don’t want to use decals for my goal.

So what I need to do is this:
I have a roundish object on the ground, and I want to use the SetPixels32 method to change the texture color in the exact shape of my roundish object where it touches the ground. To help you imagine this, picture a shoe or a foot stepping on the ground with paint on the bottom of the shoe, and every step the person takes it leaves a permanent mark.

To do this, do I have to use set pixels, and create a list of arrays for every contact point an object collides with a paintable mesh? is there an easier way to imprint these many numerous shapes on the ground? This is the last thing I need to do before I finish this project but I’m completely stumped.

Could anyone give me an example script?

Also, is there away to call the apply method after a set number of steps, then set multiple pixels at once to help run time?

In order for the setpixels approach to work, your ENTIRE environment geometry will need uniquely addressed textures
If you modify the texture texture map with setpixels, anywhere else that texture is tiled will also display a footprint


If this isnt a problem, you can use raycasts to extract the uv coordinate at impact

Multiply up by the texture size to get pixel address

But really this is exactly what decals are for

alternatively, you could look into projectors