RigidBody: How to rotate to specific angle, and move with constant speed

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By siamak-s

Below is a sample project which is contain a character which should be move at specific speed and also rotate to specific angle. But strange behaviors happen as I describe below:

  1. When character asked to rotate (using F, G, H or J keys), It doesn’t rotate smoothly, from zero to approximately middle turn fast, then going to slow and again going to fast! (WTF)

  2. When character asked to move (using S key) and then rotate after while, after some rotations characters Z velocity goes over target_speed so no force applied to character after that and therefore character stop! Amazing happens when velocity is greater than zero, but character stops!

And finally I am wondering if any idea can improve this implementation.
Thanks in advance!

https://drive.google.com/file/d/1fvUCNrqXy2fprK-K0vLxKCvJCkYg0BmI/view?usp=sharing