Constraining rotation between a range of angles?

Always best to control the heading (or local heading) explicitly yourself and drive the rotations directly.

Notes on clamping rotation and NOT using .eulerAngles because of gimbal lock:

How to instantly see gimbal lock for yourself:

All about Euler angles and rotations, by StarManta:

https://starmanta.gitbooks.io/unitytipsredux/content/second-question.html