Pretty weird!
I’ve done this in my test character and it worked for me when calling the Destroy Actor node:
.h:
virtual void K2_DestroyActor() override;
.cpp:
AIHWMTGCharacter::AIHWMTGCharacter() {
bAutoDestroyWhenFinished = false;
}
void AIHWMTGCharacter::K2_DestroyActor() {
if (bAutoDestroyWhenFinished) {
Destroy();
} else {
UnMark(OBJECTMARK_NOMARKS); ClearFlags(RF_PendingKill);
Reset(); ResetPropertiesForConstruction(); RerunConstructionScripts();
UE_LOG(LogTemp,Warning,TEXT("NOPE! I ain't gonna die..."));
}
}
If APlayerController is calling usual destroy functions, something like should work too when player disconnects.