Weird actor local rotation problem


My problem is that rotating an actor in X axis around itself have some weird behavior when it reaches 90 degrees, for some reason it makes the actor face the opposite direction in Y axis (You can see in the video how RightVector turns opposite). Also, I rotation around Y axis just doesn’t work,. It applies to the character/RootComponent rotation, camera component rotates as it supposed to do.
Up: For rotation I simply use AddActorLocalRotation(FRotator _rotation)
(In the video I rotate the camera at first which is a child component of the root component, then I try rotating the character itself)

You need Quaternion calculations, howewver i am not sure if they are exposed to blueprints.

Most probably Your problem is pole singularity (when using normal rotations), to solve it best would be making small function library in c++.

Or investigate this (and other functions), it looks like bps have Quat functions now: