How can I catch occasion, when player has disconnected the game?

In multiplayer game how can I know, when some player has disconnected the game (because of broken internet connection, for example)?

I want to know it in point, when I still able to save his PlayerState & avoid his pawn to be destroyed (I want pawn to live some seconds after player has disconnected).

What method of UE should I look to catch this event?

Thanks a lot!

I’ve tried to use AGameMode::Logout(..), but at this point pawn & PlayerState are already dead. =(

I’ve tried also:
AGameMode::RestartPlayer() mehtod & binding to GEngine->OnNetworkFailure(), but both of thed don’t fires on player disconnection =(
It’s only APlayerController::Destroyed() left, but it looks for me like not a pretty solution. I feel there must be another place - more appropriate for my need (where I can prevent PlayerState & Pawn destruction & save them until timeout of waiting for player reconnection expired).
Any ideas?

if you check my AH question

i found the first event called when quit its on ThirdCharacter->Unpossesed the next its EndViewTarget

i save successful here the playerstate before engine destroy all.

i don’t known if its the best place, but works on both

No wait! i use that for get the last pawn location or other info and save it to player state before engine kill the pawn

I save the player state in onLogout without problems

I’ve chosen APlayerController::Destroyed() after all. Here both are still alive & this is last moment of their lifes. But thank you, nonetheless. Your info have made the picture little more clear for me & established me in my assumptions.
I’m still not completely sure PC::Destroyed() is the best place for my purposes, but it looks like it is.