Limiting controller snapping and car steering angle at highspeed

Hi all.
I’m trying to fix the “feel” of my driving game and figured out that using a controller and a keyboard has snapping problem, where the front wheels just snap to an angle, not slowly reaching like using a steering wheel. Because of this it is very hard to corner properly without spinning out.
Another thing is that in addition to the snapping, at high speed, this is a bigger problem.
I tried playing games like Forza Motorsport, Gran Turismo and Forza Horizon to see how simulation games and arcade games handle controller inputs. And I figured out that the above problems are what I need to fix. I need to add some “weight” to the steering. The input is not 1:1, not linear but more like an exponential curve.
Right now I have my steering to be: maxSteerAngle * steerInput.
and Collider.steerAngle = maxSteerAngle * steerInput.
My maxSteerAngle is 25, and steerInput is the direct input.
Do you guys have any suggestions?

float turnSpeed = 5.0f;

currentAngle = Mathf.Clamp(currentAngle + (turnSpeed * steerInput) * Time.deltaTime, -maxSteerAngle, maxSteerAngle);

Collider.steerAngle = currentAngle;
1 Like

Thanks for your reply but that has a problem. currentAngle is set to a constant everytime, which is currentAngle +(turnSpeed * steerInput)*Time.deltaTime and that would not increase the angle by time