In a networked game project following on from the Unity Multiplayer Tutorial, how is one supposed to go about changing scene to a new level/map while preserving camera/player GO/health etc. in one overarching master scene. (e.g. Gameplay.unity with Level1.unity or Level2.unity added to it)
All related help seems to be legacy code, singleplayer solutions or a more specialized circumstance. The current Unity 5.5 documentation suggests ServerChangeScene - which only seems to provide half the solution.
Does something like ServerAddScene and ServerGetScene exist?
Attempted solutions have been using DontDestroyOnLoad on known GameObjects in the master scene and keep a currentMapNumber variable synced between client NetworkManagers that gets updated when a player reaches the end-of-level trigger. This is then checked in the Update() method and either calls
networkManager.ServerChangeScene("Level" + networkManager.GetComponent<NetGame>().mapNumber);
or
SceneManager.LoadScene("Level" + networkManager.GetComponent<NetGame>().mapNumber, LoadSceneMode.Additive);
neither of which work as expected.