transform.localRotation = Quaternion.Euler(Mathf.Clamp(transform.localRotation.y, -90, 90), 0, 0);
transform.localRotation = Quaternion.Euler(0,Mathf.Clamp(transform.localEulerAngles.y, -90, 90), 0);
localRotation
, а не просто rotation
. Ну так, на всякий случай заметил, может тут всё ок.