As development moves forward with a project, we’ve elected to switch from NetworkManager to NetworkLobbyManager to create an easy connection interface that players can ‘ready-up’ in prior to starting the game session. I’ve replaced the previous NetworkManager with NetworkLobbyManager which was nice and easy due to the inherited functionality, but we’ve hit a very interesting error.
The scene has two spawn points, (it’s a two player cooperative title) and the spawn system is Round Robin to ensure each of the two players spawns appropriately. The spawn points work as intended when the game is hosted from an editor, but whenever the game is hosted from the player, players are spawned and do not inherit the NetworkStart position/rotation.
Even more curious, if I attempt to force an initial sync, by grabbing the spawn location and setting the player object transform to it, it still fails. Why would this behaviour differ between the editor and the player when the code/scripts are not editor specific and are logically equivalent? Is this a known issue, does a fix exist, or should I plan to scrap lobby systems until such a fix is developed.
Short list of things I’ve confirmed before they’re suggested :
-Yes the builds are identical, there have been no changes in the editor that aren’t in the player being used to host.
-Manually setting the player transform has no effect
-Using NetworkManager instead of NetworkLobbyManager immediately resolves the problem.
Thanks!
Spawn when game is run and hosted in editor, connected with client in editor or client in player.
Spawns when unity player is used to host. NetworkStart object selected with translation tool for clarity.
If any further information would assist in this, please don’t hesitate to query. I have a plan for abandoning NetworkLobbyManager if needbe, but it seems curious.