Changing Material of Mesh Not Replicating on Clients

So the code below utilizes characters that have changing eye material. For testing purposes, I simply had the material on the left eye change on left click, and right eye on right click. At the start of the game, I set all of these characters to having a “base eye” material, which would eventually be evolved via the left/right click previously discussed. However, I face the following undesirable output:

  1. The “server player” sees everything perfectly, with all being set to a default material, and evolution of eyes appearing normally through this view.
  2. For the clients, I face an unexpected problem: The client character’s eye material is not being reset to the starting eye on BeginPlay, and is never updated properly through his own viewport. From the view of other clients, this player always has the “Basic Eye” material, and is not evolving towards the higher eye materials. However, the server sees the expected updates on these client characters, resulting in my question:

Why is it that the server sees this change on client characters, but such change is not replicated to the clients?

NOTE: CODE FILES ARE ATTACHED IN THEIR ENTIRETY ( I have not gotten far in the project as it is, nearly the entire thing is linked to the functionality above, and would thus be much more readable rather than posting all of the code here, I hope).
Note: Shinobi derives from character, HumanPlayer derives from Shinobi.
I have a BP that derives from HumanPlayer, it is Replicable (contains the mesh, etc).

Thank you very much for your assistance, and If you want further information I would be delighted to provide.