I’m into the same problem. People here are suggesting to not use the Physics engine, but then this means doing a lot of stuff by hand (drifting, inertia, collisions, etc). Isn’t there a way to use the Physics engine in a way that doesn’t produce realistic results?
I am also working on an arcade game similar to mario kart.
I’ve ended up using rigidbody because it’s very useful for collisions and also to manage all the basic physic stuff, but didn’t use wheel colliders.
I have implemented the steering by calculating the angular speed at which the car is supposed to rotate around its self and the relative deltaAngle. Then I calculate a rotation by deltaAngle along transform.up axis and apply the rotation to both the car transform and the rigidbody.velocity vector.
For drifting it’s the same thing, i just have to calculate the angular speed in a different way and add an animation to the car so it looks rotated along the mid point of upper wheel axis.