Download

A difficult logic question!

There are two materials, bloody and clean. By default the place is bloody and dirty. When I hold the collider area in my hand to that place, I want it to pass to the clean material. How can I do that?

SetMaterial() with the clean material on the object that is dirty?

Create a material with a lerp to switch between the clean and dirty textures
The lerp is controled by a paramiter
That paramiter is control by a variable in the object
The variable in the object can be manipulated by the object and updates the material

Doing a SetMaterial() is probably the easiest method if you are trying to change the material of the entire object when it is passed through the collider.
If you are trying to do it as in like a masking tool, then I would look up how to do masking techniques in Unreal. Alternatively I would just divide the floor into many small sections that i can then change the material with via the SetMaterial function.