Is it possible to add a delay to update from a base class?

I’ve never posted before and uploading images keeps failing so I’ll just type it out:

public class BaseClass : MonoBehaviour
{
protected virtual void Update()
{
// Some sort of way to have delay in seconds
}
}

public class InheritingClass : BaseClass
{
protected override void Update()
{
base.Update();
Debug.Log(“Delay Ended”);
}
}

Ok so my question is would it be possible to have a delay coming from base.Update()
so that the inheriting classes’ update isn’t called until the elapsed time has passed.

public class BaseClass : MonoBehaviour
{
[SerializeField] private float delay = 1;
private float startTime;

    private void Start()
    {
        startTime = Time.time;
    }

    private void Update()
    {
          if(Time.Time - startTime > delay)
              DelayedUpdate();
    }

    protected virtual void DelayedUpdate()
    {
          // Overriden in subclass
    }
} 

public class InheritingClass : BaseClass
{
    protected override void DelayedUpdate()
    {
       base.DelayedUpdate();
       Debug.Log("Delayed Update");
    }
}

@Hellium’s answer is good. You could also consider using Coroutines, as they are designed with timing in mind.

`protected YieldInstruction updateDelay; //set this in Start() or something
//e.g. = new WaitForSeconds(0.5f);

private IEnumerator DelayedUpdate()
{
while (true)
{
yield return updateDelay;
DelayedUpdate();
}
}
`