Weird Quaternion behaviour

Hi, Iam trying to rotate an object with a VR controller.

When I set the rotation of the object to my vr controller rotation, the result is exactly how I want it.

			myObject->SetWorldRotation(leftController->GetActorRotation());

That works.

But if I want to make the rotation change gradually, so that the controller rotation is added to the object, instead of set to match the controller, the behaviour is all weird. It rotates very weirdly and doesn’t match what the controller is doing.

FQuat lastFrameRotation;

 void TickComponent(){
    
    FQuat difference = leftController->GetActorRotation() * lastFrameRotation.Inverse();

    myObject->SetWorldRotation(myObject->GetComponentRotation() * difference );


    lastFrameRotation = leftController->GetActorRotation();

 }

What am I doing wrong?

Using AddWorldRotation instead of setting the rotation myself did the trick.