Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


WaitUntil

Initializes a yield instruction with a given delegate to be evaluated.
Read time 1 minuteLast updated 5 days ago

Definition

  • Type: Constructor
  • Namespace: UnityEngine
  • Assembly: UnityEngine.CoreModule

WaitUntil(Func<bool>)

Initializes a yield instruction with a given delegate to be evaluated.
public WaitUntil(Func<bool> predicate)

Parameters

predicate

Supplied delegate will be evaluated each frame after MonoBehaviour.Update() and before MonoBehaviour.LateUpdate() until delegate returns
true
.

WaitUntil(Func<bool>, TimeSpan, Action, WaitTimeoutMode)

Initializes a yield instruction with a given delegate to be evaluated.
public WaitUntil(Func<bool> predicate, TimeSpan timeout, Action onTimeout, WaitTimeoutMode timeoutMode = WaitTimeoutMode.Realtime)

Parameters

predicate

Supplied delegate will be evaluated each frame after MonoBehaviour.Update() and before MonoBehaviour.LateUpdate() until delegate returns
true
.

timeout

Maximum time to wait after creation of the instance for the predicate to return
true
.

onTimeout

The action to perform when the
timeout
is reached. Only performed if the predicate fails to return
true
before the maximum time specified.

timeoutMode

Mode in which to measure time to determine
timeout
. Real time by default. Can be set to in-game time, which is scaled according to the value of Time.timeScale.

Examples

using UnityEngine;using System;using System.Collections;public class WaitUntilExample : MonoBehaviour{ public bool buttonPressed; void Start() { StartCoroutine(Example()); } IEnumerator Example() { Debug.Log("Waiting for button to be pressed..."); yield return new WaitUntil(() => buttonPressed, TimeSpan.FromSeconds(3), () => Debug.Log("button was not pressed in time!")); }}