Unwanted code delay in Car Controller

I write the code of the car controller. but the torque transmission is processed with a delay. that is, if you release the gas button, the car will continue to accelerate for some time. the same situation with the maximum speed. no matter what I did, it was not possible to fix this delay…
Сode structure is standard:

public class CarController : MonoBehaviour
{
    public List<WheelCollider> drivableWC;
    public float engineTorque = 1500f;
    public AnimationCurve gearsTorqueCurve;
    public float verticalInput;
    public float currSpeed;
    public float currTorque;
    public int currGear = 0;
    private Rigidbody rig;

    private void Awake()
    {
        rig = GetComponent<Rigidbody>();
    }

    private void FixedUpdate()
    {
        currSpeed = Mathf.Round(rig.velocity.magnitude * 1.25f * 3.6f);

        InputAndUIOperation();
        ApplyTorque();
    }

    private void InputAndUIOperation()
    {
        verticalInput = Input.GetAxis("Vertical");
    }

    private void ApplyTorque()
    {
        currTorque = gearsTorqueCurve.Evaluate(currSpeed / gearsSpeed[currGear]) * engineTorque;

        if (currSpeed < gearsSpeed[currGear])
        {
            foreach (WheelCollider wheelCollider in drivableWC)
            {
                wheelCollider.motorTorque = currTorque / drivableWC.Count * verticalInput;
            }
        }
        else
        {
            foreach (WheelCollider wheelCollider in drivableWC)
            {
                wheelCollider.motorTorque = 0;
            }
        }
    }
}

Try using GetAxisRaw instead of get axis. Unity will smooth out your inputs when using get axis, which is why a lot of unity games seem to have floaty controls.

Video how it works:

1

One possible solution to address the delay in torque transmission would be to add a variable that keeps track of the previous motor torque and slowly reduces it over time until it reaches zero using the Lerp function to gradually interpolate between the previous torque and the target torque based on the delta time. This will gradually reduce the motor torque when the gas button is released, thus reducing the delay.

I was able to partially solve the problem by entering huge values of the forward friction at the wheels, but with these values the car behaves like a toy… maybe there is something wrong with my unity. maybe I didn’t install some packages. although I seem to be doing everything as before, but before, exactly the same code worked as it should…206618-1.png