Multiplayer Character Customization, pls enlight me...

Hi everyone, I have a little problem with this thing…

My character customization is not working in multiplayer, from my main menu
I personalize the characters(server/client) for example I choose two different hats, then I save these informations
in string form inside my GameInstance blueprint.

Inside my playercharacter I have 1 empty static mesh component called HAT.
What I do is, for both players, on BeginPlay I run an event(not replicated) which on Switch on Authority check the
GameInstance string and set the chosen hat(StaticMesh).
(authority runs a multicast event while remote an owning client event, I tried all the options anyway…)

Now, this is not completely working because in client window I can see the right HATs on players, but
on the Server they all have the same Hat.
Correct me if I`m wrong but what I know is that GameInstance class does not get replicated, but this should be fine
if I use a Swith on Authority node or not?
The only thing I have not tried, is to pass the data to the PlayerState and then use it for set the custom items
instead of the GameInstance…

How would you go on this??

I would suggest that you put that stuff in the player state as replicated.
Have it replicate from wherever you are saving it, to the player state when the player joins (example, player has a local player controller with the info, it then pushes out to the player state only from that player, which is then replicated), then when you set it in your begin play you call what is in the player state, and that would get the correct values for the remote and local pawns.

I hope that make sense for you :slight_smile:

Hi, thank you for your reply, I have been able to achieve it using the PlayerState, as a trial, I added two static mesh components inside PlayerState Blueprint then when the player spawn I run this:

This way it works for me, thanks again for your suggestion…


I have had a similar problem with replicating customization! I was just wondering where this blueprint script above is set? Do you cast to the player state in the game instance or somewhere else?

Hi J4ke, sorry for the late reply but I read it now, probably you already overcome the problem by this time, anyway this was inside the player character blueprint.

Hi! I’m having the same problem, could you explain to me how you did to save this information from the menu?