Modifying height directly on a Rigidbody Object without gravity

I am making a UFO spaceship type object controller, and one of the controls is if I press the Space key, it raises the height of the ship, and pressing Control lowers the height.

The spaceship currently has a Rigidbody component component with “Use Gravity” disabled, and I am manipulating its Transform.position variable directly inside of code that looks basically like this:

throttle = Input.GetAxis("Vertical");
height += throttle * verticalSpeed; //height is a Property which maps to transform.position.y

And it is working quite nicely in general, but I’ve read that I should not be modifying Transforms on objects with a Rigidbody component, so I am wondering what the proper way would be to do this?

I need the object to have a Rigidbody because I want it to have collisions. Is there another way to achieve physical collisions without a rigidbody? Or is this a perfectly ok way to do this?

Don’t know if this is right but
Float up;

Throttle = Input.GetAxis("Vertical");
Height + up += th...........

Don’t know if that’s what you are looking for but fort Il give it a go as a noob to unity and coding