Watch this:
And ask uncle google for: “unreal dynamic material instance” for more tuts.
For changing colors every time player is close:
- use events of begin overlap and end overlap
- set different colors for each event. like red begin overlap, green for end overlap