A difficult logic question!

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.