Player Prefab on Lobby Managers?

This question is pretty short and straightforward. When I use a regular Network Manager, set a Player Prefab in the Spawn Info, then start a game, the Online scene is loaded and the Player Prefab is spawned.

When I do the same thing with a Network Lobby Manager, the Player Prefab is not spawned.

I am highly confused by this. What is the intended use of the Player Prefab, and why doesn’t it get spawned from a Lobby Manager?

So this is what fixed the issue for me

Take at the above forum post. It looks both OnLobbyServerSceneLoadedForPlayer and OnLobbyServerCreateGamePlayer are called on the LobbyPlayer gameobject AFTER the scene has been transitioned to the “gameplay scene”. So if you have not instructed untiy to not Destroy the gameobject on scene transition the above 2 methods will never be called. just DontDestroyOnLoad(gameObject); to the awake method of your LobbyPlayer (or inhereted) gameobject and everything will end up being called as expected.

*Remember Unity appears (does?) to Destroy objects recursively when a scene is loaded. So if you have your lobbyplayer childed to a mortal gameobject it will still be Destroyed in scene change even if you add the above line of code. Remember to unparent the lobbyplayer object before you perform any scene load to make sure it sticks around to do player spawning.

Try this and give the guy a cookie! Srsly! He deserves it!

Have you tried adding the a lobby player prefab with the network lobby player component?
In lobby manager you must set 2 prefabs.

I ran into a similar issue here. In my LobbyPlayer I had an OnLevelWasLoaded call, not marked as an override or anything. I first tried removing all the code in that function, no luck, but removing the function itself let the OnLobbyServerSceneLoadedForPlayer be called.

The link provided by Wojalin is a great solution.

For those following it, the SetPlayerTypeLobby() function takes a NetworkConnection as an argument.
You can pass this argument like so:

LobbyManager.s_Singleton.SetPlayerTeamLobby(connectionToClient, index);