Rotating to face a vector or to a certain euler angle with physics (AddTorque)

What I’m trying to do is make an actor face a direction with physics. I have managed to make it do so, in a rather glitchy way. What I’d prefer to do is to be able to set an actors rotation, with physics. Using AddTorque or anything that works really.

Where Component is the UPrimitiveComponent* I am trying to rotate, Angle is a FVector I am trying to rotate to, and DeltaTime is a float representing the delta time.

FVector VCross = FVector::CrossProduct(Component->GetForwardVector(), FVector(1, 0, 0)); float Theta = FMath::FastAsin(VCross.Size()); VCross.Normalize(); FVector wD = VCross * Theta * Component->GetInertiaTensor(); FRotator q = Component->GetComponentRotation(); FVector t = q.Vector() * (Component->GetInertiaTensor() * (q.GetInverse().Vector() * wD)); FVector Cross = FVector::CrossProduct(Angle, Component->GetComponentRotation().Vector()) * Component->GetInertiaTensor(); Component->AddTorque(Cross * DeltaTime * 500000 - Component->GetPhysicsAngularVelocity() * 50000);

Now the code above does work, BUT it doesn’t allow me to control rotation around the X axis. How could I make an actor or a primitive component or something rotate to a certain euler angle with physics? like (-180, 0, 90).

Sorry for a probably poorly written question and thanks in advance.