void UnSpawn(NetworkIdentity identity) { Guid assetId = identity.AssetId; identity.NetworkDestroy(); if (unspawnHandlers.TryGetValue(assetId, out UnSpawnDelegate handler) && handler != null) { handler(identity.gameObject); } else if (identity.sceneId == 0) { Destroy(identity.gameObject); } else { identity.MarkForReset(); identity.gameObject.SetActive(false); spawnableObjects[identity.sceneId] = identity; } }