Why is my rotation so weird?

So I made this simple car controller with wheel colliders, it basically moves forward, backward, sideways, anything, like a normal car. The controller itself is working fine, but when I use this code to rotate the steering wheel (with the A and D or arrow keys of course), it gives me an unexpected behaviour :

float horizontalInput = Input.GetAxis("Horizontal");
steeringWheel.rotation = Quaternion.Euler(0f, 0f, -horizontalInput * 105f);

Here I did * 105f because my steering rotation clamp is 105f (I want it to max rotate 105f and -105f). I also did -horizontalInput because that seems to be the right way for the steering to rotate. The rotation itself is pretty fine but the main problem is that it starts rotating on the other axes as well, like the y and z. There are no rigidbodies or colliders attached, and also I’ve noticed that it only occurs when the car is moving. What could be the cause?

Hi Maggiethegsd, you should calculate the rotation in local rotation instead of global rotation:

steeringWheel.localRotation = Quaternion.Euler(0f, 0f, -horizontalInput * 105f);

I hope I could help you with this