3D characther controller dash ability with coroutine doesnt work

I am trying to write a coroutine that dashes my player forward. It works very fidgety, like it moves a bit really fast, then stops, then repeats the process again until the dash is over. I’ve printed the part of the code I think is necessary below.

    public override IEnumerator Cast()
        canCast = false;
        controls.canMove = false;
        float curTimeLeft=dashDuration;
        while (curTimeLeft >0)
            Vector3 dasher = transform.forward * dashSpeed*Time.deltaTime;
            curTimeLeft -= Time.deltaTime;
            yield return new WaitForSeconds(Time.deltaTime);
        controls.canMove = true;
        yield return new WaitForSeconds(cooldown-dashDuration);
        canCast = true;

For future users, problem was fixes when I changed “yield return new WaitForSeconds(Time.deltaTime);” to “yield return new WaitForFixedUpdate();”