I must be glossing over something important. In NetworkBehaviour, I see that there are two event methods I can use for detecting disconnection: OnDisconnectFromServer() and OnPlayerDisconnected(). When a network game starts and the client connects to the server, I added the NetworkBehaviour script component containing OnDisconnectFromServer() and OnPlayerDisconnected(). When the client disconnects from the server, however, both the OnDisconnectedFromServer() and OnPlayerDisconnected() event methods did not fire at all. At the bottom of this Manual article, I found the closest event method related to player/client/server connection and disconnection. But even that event doesn't fire. It must be telling me I cannot add new script components at runtime and expect the new script components to call on OnDisconnectFromServer() or OnPlayerDisconnected() methods when the client disconnects from server. What should I do? What details am I forgetting? EDIT: In fact, I don't even know what Network Manager is doing when it is stopping the connection to disconnect the client from the server. Why is OnPlayerDisconnected() or OnDisconnectedFromServer() not called when connection is stopped for client and server? No Log messages or anything. EDIT 2: NetworkManager calls on Destroy() for game objects spawned in with NetworkServer.Spawn() or NetworkServer.SpawnWithClientAuthority(). The game objects with NetworkBehaviours or MonoBehaviours attached will not get a chance to run OnDisconnectFromServer(), OnPlayerDisconnected(), or any On...() event methods. Go for OnDestroy() when using NetworkManager to handle/destroy game objects. Still, it would be nice to know how to trigger OnDisconnectFromServer() and OnPlayerDisconnected() if the client disconnects from server in UNET. Thread is still relevant and open.