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

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