Rotating an Actor on 3 Axis

Hi,
I have a plane and I would like to be able to rotate it along 3 axis (Pitch, Yaw, Roll)
As soon as i rotate around 2 axis, let’s say Pitch and Yaw i also see the plane having a roll.

I know that using Quaternion should fix this problem but I think i’m missing something.
This is what i’ve tryed:

	FRotator PitchRotator(Actions.Pitch * PitchAgility * DeltaTime, 0.f, 0.f);
	FQuat PitchQuaternion(PitchRotator);

	UpdatedPrimitive->AddLocalRotation(PitchQuaternion);

	FRotator YawRotator(0.f, Actions.Yaw * YawAgility * DeltaTime, 0.f);
	FQuat YawQuaternion(YawRotator);

	UpdatedPrimitive->AddLocalRotation(YawQuaternion);

	FRotator RollRotator(0.f, 0.f, -Actions.Roll * RollAgility * DeltaTime);
	FQuat RollQuaternion(RollRotator);

	UpdatedPrimitive->AddLocalRotation(RollQuaternion);

Is this a normal/unavoidable behavior? How can i get rid of it if possible?

You can use AddWorldRotation(FRotator(1.0f, 1.0f, 0.0f));

This would ensure your axis are static, not matter the direction the actor is facing.

Alternatively AddRelativeRotation(FRotator(1.0f, 1.0f, 0.0f)); could work in some cases.