Networking, Can't disable RotatingMovementComponent with Deactivate() on RepNotify

void AGCharacter::OnRep_WeaponSlot1()
{
	if(WeaponSlot1)
	{
		WeaponSlot1->SetOwner(this);
		WeaponSlot1->EquipWeapon();
		WeaponSlot1->AttachWeapon(GetMesh());
		WeaponSlot1->RotatingMovement->RotationRate = FRotator(0.f,0.f,0.f);
		UpdateHUD(WeaponSlot1, EQuippedWeaponSlot::WeaponSlot1);
		GetWorld()->GetTimerManager().SetTimer(TestTimer, this, &AGCharacter::TestFn,0.5f,false);
	}
}

void AGCharacter::TestFn()
{
	GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Orange, *FString::Printf(TEXT("TestFn")));
	WeaponSlot1->RotatingMovement->Activate();//sometimes does not deactivate, so running activate first, makes it work
	WeaponSlot1->RotatingMovement->Deactivate();
	WeaponSlot1->RotatingMovement->RotationRate = FRotator(0.f,180.f,0.f);
	// GetWorld()->GetTimerManager().SetTimer(TestTimer, this, &AGCharacter::TestFn2,0.01f,false);
}

void AGCharacter::TestFn2()
{
	GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Orange, *FString::Printf(TEXT("TestFn2")));
	WeaponSlot1->RotatingMovement->Activate();
}

Looks like its working, now it stops immediately and can be reactivated later.

I was thinking that probably im just going to deactivate “AutoActivate” and just manually Activate the weapons if they are placed on the ground. But if the client joins later, and someone picked up a weapon on the ground that was rotating, the same bug applies.

This would probably be an issue if a client loses connection from the game and reconnects, and someone has picked up something by the time…

Any better solution?