Correct way to spawn 4 local controllers in an online game connected to another host

Hello,

I currently have a local + online multiplayer game.

I spawn 4 local players on the host and also allow another client machine with up to 4 players to connect to the host server. (This is a top down game btw, think PS4 Gauntlet where up to 4 players can be a mix of either local or online from separate machines, but in my case you can have up to 32 players, theoretically at least).

My problem is that when spawning the 4 client controllers through ‘event postlogin’, I use create player & spawn pawn boolean checked, the controllers are not possessing the 4 pawns that were created (and they are created because both server and host can see them). They are instead spawning and possessing an extra pawn that can fly around the map (as if he isn’t possessing anything, like a ghost)…

The create player function I am using, i set it to -1 (so that it will spawn the next available controller) but the question really is:

I have a server browser, where player 1 (of up to 4) can scroll through and select the host server.
I only really connect 1 client player controller through the online subsystem to the Host through Join Session (which only takes player controller 0 anyways), and then use information stored in his controller (saved data that indicates how many players should be spawned, and what kind of characters, meshes, names, etc.) to spawn the appropriate amount of players[the server uses a RPC to call upon his controller and get the save file from client machine], but this is done through one single ‘event postlogin’… is that where I am messing up?, should I try to make all 4 player controllers connect to the Host? If so then how? should I start from the client using a for each loop on all player controllers and make all of them JOIN the session?

can anyone point me to some documentation that explains precisely what happens when Join session is called, if only the player controller specified is being connected to the host session or if any active local player controller joins as well?

im going to go back to this eventually, but from reading my post, after more experience, I think the answer lies in some default pawn class I may be using for the gamemode… ill check into it sometime this next month