When you say it starts to ‘finick’ do you mean the ship starts to tilt erratically, or do you mean the camera doesn’t follow the ship and flips around?
I know that a VehicleSeat camera gets erratic when the seat gets close to vertical.
But if you have the BodyGyro set to math.Huge on all vectors it’s going to fight against anything that tries to tilt it.
Have you tried using a couple VectorForce | Roblox Creator Documentation s to control your movement and Torque for rotation?
The problem you’re having is related to the up-vector. When you use CFrame.new(Vector3, Vector3), a deprecated constructor, it assumes that you’re using up (Vector3.new(0, 1, 0)) as the up-vector. CFrame.lookAt can let you use a select a different up-vector, but that’s probably not related to your problem. You’ll never be able to go up-side-down with those functions unless you mess with the up vector in some way.