How to select and Spawn different pawn for each player using UMG

I’ve been bothered by this for a week, I checked this tutorial on community wiki and this one. the .txt file solution does not really help, since I want to select character from UserWidget and call it later in controller ServerSetPawn using IMenuInterface.

  1. I’m not very familiar with struct, can I also declare my switch pawn function in STRUCT?
  2. Can IMenuInterface pass the argument of ServerSetPawnA(), …PawnB(), …PawnC() to ServerSetPawnA,B,C() in MyPlayerController> For example, (UserWidget)Button->Onclicked(…::SetPawnA), MenuInterface->ServerSetPawnA(); (PlayerController) ServerSetPawnA();
  3. I know I can possess a different pawn after postlogin into lobby, but my goal is to select at MainMenu level and spawned into lobby already with different pawns.

I just want to know can I achieve this with (CharacterButtonClicked) MenuInterface, PlayerController, and Gamemode in a flow.

There is old but nice tutorial from Unreal Engine how to build multiplayer game with lobby and character select

Give it a chance :wink:

Hey Jaco thanks, I’ve seen this tutorial months ago. However, it has many problems like pawns won’t consist through out levels, obsolete nodes in 4.27,etc. I think I found other approaches now. It bothers me because I intended to achieve it in a standalone game, obviously you have to change saved selected-pawn everytime which is a mess if there are save points involved. No matter what, thanks for the help :wink:

Just use GameInstance to store parameters between levels. But you still need something that save/store progress of your game. GL