I have an issue at the moment that's driving me a bit nuts. I'm using the UNet Custom Spawns system detailed on this page to do object pooling on both the client and server. I'm registering the spawn handler to spawn items, as indicated on this page: itemAssetID = gc.spawnerMain.itemPrefab.GetComponent<NetworkIdentity>().assetId; ClientScene.RegisterSpawnHandler(itemAssetID, SpawnItemClient, UnSpawnItemClient); However, sometimes when I spawn an item on the server using NetworkServer.Spawn(), SpawnItemClient is called MULTIPLE times in succession. First, the item I want is spawned. Then, a couple of other items from the pool that had previously been spawned -- and subsequently unspawned using NetworkServer.UnSpawn() -- are spawned again. Any ideas on how a single NetworkServer.Spawn() call could possibly result in multiple spawns on the client like this? Is it possible that multiple items are somehow getting registered as one?