A few days ago I thought I had the multiplayer, multi scene escape room solution in the basket. How wrong was I. While I suspected that Unity wouldn’t have a working, simple solution for networked change of scene (you can change the scene but it won’t do anything else so it’s not really useful, like I suspected) I would have preferred it to be somewhat less tricky.
First, I tried using the networked scene change function, this just changed the scene for all players. No avatar prefabs or networked objects would spawn.
Second, I tried additive scene change, keeping track of when the old scene was unloaded and the new one loaded. This solved the issue of having to keep track of volatile data, but meant that I couldn’t have all components needed to run the game in each scene as it would lead to duplicates.
The whole thing suddenly got very experimental, so the result probably won’t look as polished as intended towards the end. On the bright side, when this works it could be very useful for my other prototypes with several needs. On the other hand, Unity HLAPI isn’t exactly the perfect solution to begin with. It’s even deprecated as is, it’s just that the replacement is very vague.