My scenario is the following:
I’m creating a multiplayer game using Netcode for GameObjects. At the moment I have one scene. There is one host and one client. At runtime i need to generate a scene for some physics stuff that I don’t want to sync over the network. I’m doing this using SceneManager in
CreateSceneParameters parameters = new CreateSceneParameters(LocalPhysicsMode.Physics3D); Scene scene = SceneManager.CreateScene("testScene", parameters);
As soon as I client joins the host I get the error:
Exception: Scene '' couldn't be loaded because it has not been added to the build settings scenes in build list.
I used the
NetworkManager.Singleton.SceneManager.VerifySceneBeforeLoading callback to try and stop the sync from happening when the name is empty. However the callback does not seem to be called when I create the scene using
In the documentation (Using NetworkSceneManager | Unity Multiplayer Networking) it states that an empty scene has to be added to the build. I did that (adding an empty scene called testScene). But I still get the same error.
What would be the best way to move forward? Thanks.
Using Unity 2022.1.24 and Netcode for GameObjects 1.1.0
At the moment I’m debating between overriding GetAndAddNewlyLoadedSceneByName from the NetworkSceneManager or using custom SceneManagement. What would you recommend?