Changing player color when entering, leaving a collision are

I want to create a multiplayer game so every action is supposed to be seen by all players. I want to make a collision area in which player changes material to something that looks like a cloak. I managed to do this with blueprints easily, but it doesn’t get replicated and i don’t want to have much code in blueprints, so i want to be able to do it in c++.
I tried with skeletal Mesh access it but i don’t find any method that can help me acces and change that material.
I have found things that can do this however for the third person inside the Third Person Project it doesn’t work so simply, i don’t know how to access and change material.

I tried these ones :

and way more everything icould find however i never saw a way to change third person material.
For blueprints there;s that function SetMaterial, however it doesn’t get replicated, i’m looking for something similar however in c++.

I solved by instantiating UMaterialInterface instead of Umaterial or Meshes.
The UMaterialInterface can be applied to skeletal mesh and gets replicates.