Need help rotating object held by PhysicsHandle

Hi fellow Devs,

I am in need of some help to properly make an object rotate that is grabbed by the PhysicsHandle around one axis when a button is pressed.

I essentially pick up an object using the following function, using some LineTracing in another function:

void UObjectController::PickUpObject()
{ 
    UE_LOG(LogTemp, Display, TEXT("Picking up Object"));
    UPhysicsHandleComponent* PhysicsHandle = GetPhysicsHandle();
    if (PhysicsHandle == nullptr)
	return;

    UPrimitiveComponent* HitComponent = HitResult.GetComponent();

    if (HitComponent->IsSimulatingPhysics() == false)
	HitComponent->SetSimulatePhysics(true);

    HitComponent->WakeAllRigidBodies();

    GetPhysicsHandle()->GrabComponentAtLocationWithRotation(HitComponent, NAME_None, HitResult.ImpactPoint, GetComponentRotation())     
    HoldingObject = true;
    CurrentlyManipulatedObject = HitComponent;
}

Picking up the objects works fine and from my understanding GrabComponentAtLocationWithRotation constrains the rotation of the grabbed object. Which leads to my problem with my RotateObject function below.

void UObjectController::RotateObject(float DeltaYaw)
{ 
if (HoldingObject && CurrentlyManipulatedObject) 
    { 
    FRotator NewRotation = CurrentlyManipulatedObject->GetComponentRotation() +     FRotator(0, DeltaYaw * ObjectRotationSpeed, 0);
	//GetPhysicsHandle()->GetGrabbedComponent()->SetWorldRotation(NewRotation);
	//GetPhysicsHandle()->GrabComponentAtLocationWithRotation(CurrentlyManipulatedObject, NAME_None, 
		//CurrentlyManipulatedObject->GetComponentLocation(), GetComponentRotation());

	//GetPhysicsHandle()->SetTargetRotation(NewRotation);
    }
}

So I have three approaches that all don’t fully work.

GetPhysicsHandle()->GetGrabbedComponent()->SetWorldRotation(NewRotation);

This one rotates like a charm, but resets (snaps back) the grabbed component to the original (constrained) rotation from GrabComponentAtLocationWithRotation.So I thought, that updating the GrabbedComponent using the line below would work.

GetPhysicsHandle()->GrabComponentAtLocationWithRotation(CurrentlyManipulatedObject, NAME_None, CurrentlyManipulatedObject->GetComponentLocation(), GetComponentRotation());

And while using the first line together with this line doesn’t make the object snap back anymore, that object instead moves towards some direction while it is spinning and is then snapping back to the original position once the key for the rotation is no longer pressed.

Lastly, I’ve tried the following line by itself, which doesn’t make the object snap back but rotates uncontrollably fast, no matter what the ObjectRotationSpeed is set to.

GetPhysicsHandle()->SetTargetRotation(NewRotation);

I’m quite new to Unreal and C++, coming from Unity and after lots of trying, troubleshooting and googling I’ve still come to new solution.

Any help would be highly appreciated, thanks!