Create players on the fly

UMG is not currently designed to handle multiple players on one widget. Each widget is Owned by a speicific Player Controller (usually the one who created it).

However, I have made the other player controllers “follow” the focus to the most recently-focused widget using the On Added To Focus Chain Event. After getting this to work, I thought better of it and decided to only have player 0 control all the widgets except the player character setup menus.

Clarification: Each device has only the PlayerControllers of the players local to that device. For Clients this is anyone who has connected a controller to the machine AND who has had a Player Created for them on that machine.
For the server this includes the server machine’s local Players, and ALSO all the connected Client Players, HOWEVER on the server, the remote playercontrollers will all have an ID of -1 because they are not controlled by a player on the server. So that’s why you want to keep track of them using PlayerState → Player ID