Add 180 quickturn to movement.

I have a very simple script controlling the objects rotation, I wish to add a quick turn button which adds a 180 degree turn to the y axis. What i have at the moment works in so far as the 180 degree turn is applied but snaps back to its original position instead of becoming the new orientation.

My apologies, I’m sure this is an obvious answer but i am new to Unity and everything i have tried has been to no avail.

        float _rotationY = 0.0f;
        float _rotationX = 0.0f;

        public GameObject Player;
        public GameObject DriftTarget;
        private const float _distanceThresh = 0.05f;

        private Quaternion _inputRotation;

    private void FixedUpdate()

        #region Player Input
        //mouse control

        _rotationY -= Input.GetAxis("Mouse Y");
        _rotationX += Input.GetAxis("Mouse X");
        _rotationY = Mathf.Clamp(_rotationY, -80.0f, 50.0f);
        _inputRotation = Quaternion.Euler(_rotationY, _rotationX, 0.0f);

        transform.rotation = _inputRotation;

        if (Input.GetKey(KeyCode.Q))
            var Rotation = transform.rotation.eulerAngles;
            Rotation = new Vector3(Rotation.x, Rotation.y + 180, Rotation.z);
            transform.rotation = Quaternion.Euler(Rotation);


@vCADv there is way simpler method to rotate on a key press here it is

void Update(){ if (Input.GetKey(KeyCode.Q)){ transform.Rotate(0,180,0); } }

yea it’s that short :-).