Is there any other way to create a wait other then using a coroutine ?

I want to create a wait without using coroutine.

Create a variable to store the time at the start of the timer
And put an if statement to check if timer >= the required wait and then execute
C#:

public float reqTime;
float startTime;
void Start()
{
 startTime = Time.time;
}

void Update(){
    if(Time.time - startTime >= reqTime)
    {
        //execute code
    }

}

This will allow you to wait before starting. You can reset it after the execute code if you want to only execute once between

However InvokeRepeating() would be more useful