I assume you are not setting the new character right.
- get the player character, change the mesh material
- get the character class and Set the mesh material
- cast to the characterBP and set the material
I would try to get the class only (skip step 1 and 3), set the material and assign it then to the player
Btw within your set color function, you are setting the material for the same index. I think body or eye should be 0 and the other one should be 1. (depending in how many slots you have)