Car being wonky

Greetings! I am creating a car completely from scratch, however, I have a small issue:


The car rotates pretty weirdly when I press W and S.

Here is my code:

local Seat = script.Parent.VehicleSeat

local BackLeft = script.Parent.BackLeft
local BackRight = script.Parent.BackRight

local FrontLeft = script.Parent.FrontLeft
local FrontRight = script.Parent.FrontRight

local SteeringAngle = 30
local Speed = 60

Seat:GetPropertyChangedSignal("Steer"):Connect(function()
	FrontLeft.PartB.HingeConstraint.TargetAngle = SteeringAngle * Seat.Steer
	FrontRight.PartB.HingeConstraint.TargetAngle = SteeringAngle * Seat.Steer
end)

Seat:GetPropertyChangedSignal("Throttle"):Connect(function()
	FrontLeft.Tire.WheelConstraints.AngularVelocity = Speed * Seat.Throttle
	FrontRight.Tire.WheelConstraints.AngularVelocity = Speed * Seat.Throttle
	BackLeft.Tire.WheelConstraints.AngularVelocity = Speed * Seat.Throttle
	BackRight.Tire.WheelConstraints.AngularVelocity = Speed * Seat.Throttle
end)

No errors in output.

If you can help, that would be great!

Try setting the all parts of the car and anyone sitting in the vehicle seat to massless.

If Im correct, steer should be A and D, Throttle is for up and down. W and S.

Yes.

Didn’t work. Im trying to set the cars front parts right now.

Then why don’t you just get property changed on the Car seat, and then just check if the value changes to 1 or -1 (Meaning that it would either be W or S for throttle, and vice versa.)?

This looks like a behavior that occurs when one set of wheels moves forward and other set moving backwards, resulting in the forces “canceling” out, though not entirely, however, due to low friction the car ends up spinning.

Make sure that all of wheels are moving in the same direction, you probably just have to set opposite force for some wheels.