Change character color in multiplayer

Ok, so when you’re dealing with networking, things can get pretty complicated, but it’s not too bad. There’s actually 2 parts to this.

  1. The character’s color is based on its mesh component’s material, which is inside the Character blueprint.

  2. Both the server and client are using the same ThirdPersonCharacter blueprint, so in order for you to change the color of one of them, you need to have 1 of the “players” use a different character blueprint that has a different material on the mesh. In that tutorial, he’s not using a dedicated server, so by default, the server is Player 0 and the first client is Player 1.

To deal with both of these things, you’ll have to do the following:

  1. First you need to create a new character blueprint (you can just duplicate the template BP and give it a new name, like Character2_BP).

  2. Go into the mesh component of the new Character BP and assign it a new material with a different color (again, you can just duplicate the material and give it a new name and a new color).

  3. Place the Character2_BP somewhere in the level, wherever you want Player 1 (Client) to spawn.

  4. Use your level blueprint to get Player 1 to possess the Character2_BP on begin play. You can do that with a level bluperint that looks like this:

Then you should be good to go. There is of course more than 1 way to do this, but this is the easiest way I can think of. You could also set the material dynamically, but then you have to deal with replication and stuff, unless you set it on the client side I guess… anyway it can get complicated.