I'm working on a multiplayer game and I haven't been able to find an answer for this yet. A similar outline was posted in this question 2 years ago, though as far as I can tell the APIs haven't really changed. https://forum.unity.com/threads/une...-and-different-scenes-for-each-client.383468/ I have a basic cut down version of what I'm trying to build. Scene A has 2 NetworkIdentity in it, Scene B has 1 NetworkIdentity. I have a scene manager class that sends messages from the server to the clients, having each of them perform a SceneManager.LoadScene additively. They send a message back to the server when they are done loading, and the server spawns objects with NetworkServer.SpawnObjects. The scene loading is working fine, except for when it comes to the NetworkIdenties. The problem I encounter is that when the NetworkServer.SpawnObjects() call reaches the clients, it seems to try and use the same NetworkIdentity.sceneId. For some reason this isn't a problem on the host (or when i run a single host game), but it results in the objects not spawning on the client with an error: Spawn scene object not found for X X in this case corresponds to the SceneId (as I understand it this is an incrementing value and not at all reslated to scene build index), which I'm assuming is an auto incremented value for each NetworkIdentity spawned in the scene. When I load a scene additively, it doesn't care about that object relative to the others loaded in the previous scene. This results in it colliding with other objects and failing the spawn. In the example above, this means that the single NetworkIdentity in Scene B, doesn't spawn because of one of the objects with that SceneId in Scene A. If i had two objects in Scene B, I would encounter the same problem twice: Spawn scene object not found for 1 Spawn scene object not found for 2 Any additional objects in Scene B, that aren't in Scene A would get a SceneId of 3+ and would work fine. Am I missing a core concept here that I'm not understanding properly? I can think of a solution whereby I put in some kind of placeholder object that spawns a prefab at runtime (the prefab would have the NetworkIdentity), but this seems like an awkward workaround. Is there a better way of ensuring the SceneId don't conflict with each other? This seems to be an entirely internal field that shouldn't be touched. Is there an easier way to additively load scenes, in UNet, with scene objects (there at build time, not spawned at runtime) that are NetworkIdentities?