SetSimulatePhysics on skeletal mesh gives an error and 5 seconds hang, but works

So whenever i try SetSimulatePhysics(true) it will hangs for like five seconds and give the error :

LogOutputDevice: Error: Ensure
condition failed: !bRegistered ||
[Line: 2089] LogOutputDevice: Error:
Attempt to detach SceneComponent
‘CharacterTPMesh’ owned by
‘BP_Enemy_C_2’ from AttachParent
‘CollisionCylinder’ while not

But physics simulates OK on the mesh, it’s just that nasty error and five second hang.
also tried using SetSimulatePhysics(true) and WakeAllRigidBodies().
The game is multiplayer and SetSimulatePhysics only called on clients and listen server. if i just call it on dedicated server, no error no hangs but it won’t simulate and the mesh just collapse through floor.

Any help i appreciated.

Solved : By calling SetSimulatePhysics(true) in another function by a timer, it no longer freeze or gives an error.

GetWorld()->GetTimerManager().SetTimer(TimerHandle, this, &AChar::UpdatePhysics, 2.0f);

void AChar::UpdatePhysics() {