So for the past week or so, I’ve been trying to figure out the best way to create and display my UI for multiplayer.
At first, I tried using just the Game Instance, and while that works for single player, it didn’t seem to work for me for Multiplayer.
I found that in a multiplayer session, each player is assigned their own unique Player Controller, which seems to be persistent between levels (?), so I made all of my UI in a custom Player Controller blueprint. There is a function that creates all the widgets I may need, and another function that displays whichever one I say.
My goal was to call these functions from my custom GameMode blueprint, as that’s where the rules are, and I thought where I should determine which UI to initialize for each player. After way too much time, I realized that it just doesn’t work (for clients) in the GameMode type blueprint (or I’m doing something wrong).
I tried the Level Blueprint, and my code worked fine. It’s nice to have figured out a solution, but it isn’t ideal. I made a GameMode for racing: Racing_GameMode, for example. Whenever I want to do X things specifically for a certain mode, I assumed I should be doing most of it in the GameMode blueprint. This way, I don’t have to make this code over and over for each level, I can just assign the GameMode and be done.
The code is attached. It works in Level Blueprint, but only for Server in GameMode. I’ve tried everything I can think of but nothing will display for the Client. Am I doing something wrong or am I not fully understanding how each type of BP works?