The game I'm working on has the expectation that players will be able to download the source code, open it in Unity and create their own levels using premade prefabs. Those levels will then be saved as nested prefabs in asset bundles. The hope is that users will then be able to share those asset bundles with each other in order to play networked games together in the levels they've made and shared. However, when a level prefab is built into an asset bundle it seems the NetworkIdentity.assetId NetworkHash128 property isn't serialized and is lost, causing errors the error "Failed to spawn server object, did you forget to add it to the NetworkManager?" when the client joins the server. Saving the assetId as a string on the prefab and registering the prefab with ClientScene.RegisterPrefab(levelPrefab, NetworkHash128.Parse(assetIdString)) will get around this, allowing the levels to be loaded on the client. However, every networked prefab that's part of the level nested prefab seems to have no observers. This doesn't cause any errors because the level prefab was spawned successfully. The game is almost finished and is built around the uNet framework. I know it's been depreciated but Unity hasn't released an alternative which is just plain frustrating. Can anyone help? Thanks.