オブジェクトに対して、今のrotationからy軸だけ180度回転させたいと思ったので下記のように書きました

transform.rotation = Quaternion.Euler(transform.rotation.eulerAngles.x, transform.rotation.eulerAngles.y+180, transform.rotation.eulerAngles.z);

しかしこれだと180度回転できる時もあれば、全然回ってくれない時もあるしで、何が悪いのかよくわかりませんでした。
どなたか良い方法ありましたらご教授いただきたく、よろしくおねがいします