Hello, I’m Noah. I’m not Ben, but I have been programming in Unity/C# for a while. I took this course as a refresher, and have found that the system of locking the Z coordinate in rigidbody, and locking the X and Y rotation in rigidbody does not always work. It does its job pretty well, however, it doesn’t actively correct minor changes, it just keeps them. This means that very gradually, the rocket will begin to tilt off course and rotate in the wrong directions. This code fixes this problem all together, without the need for zing anything:
transform.position = new Vector3(transform.position.x, transform.position.y, 0); // freeze the z coordinate at 0
transform.rotation = Quaternion.Euler(0.0f, 0.0f, transform.rotation.eulerAngles.z); // freeze x and y rotation
paste these lines into your rotation method, and you will find that the z coordinate is permanently 0, and that the x and y rotation is permanently 0. best of luck!