Changing a property of an actor's material that only exists on the server and is visible only to the client that changed it

I’ve tried everything with this and I can’t get the code to work.

I’m trying to change the color of an Character that has an AIController that only exists on the server and that said change is only seen by the client that made the change.

I’m doing it in my PlayerController to get the result under the mouse, the problem is that I need to get a variable that exists only in AIController to know what color I should change the material to.

If I try to get AIController outside the server the reference is null, therefore I have to mark the function to get the ETeamAttitude as Server.

So far everything works fine for me, the problem is that when I want to change the color by invoking a UFUNCTION that is BlueprintImplementableEvent, wich is the one that actually changed the color in the object that the mouse was detecting, the change only happens on the server, the clients see absolutely nothing.

I’ve tried sending the function to change the color as Client and the result is always the same. No matter where I try to change the color from, it only updates the change to reflect on the server and not the client specificly.