class in UnityEngine


Inherits from:CustomYieldInstruction

Switch to Manual


Suspends the coroutine execution until the supplied delegate evaluates to true.

WaitUntil can only be used with a yield statement in coroutines.

Supplied delegate will be executed each frame after script MonoBehaviour.Update and before MonoBehaviour.LateUpdate. When the delegate finally evaluates to true, the coroutine will proceed with its execution.

See Also: AsyncOperation, WaitForEndOfFrame, WaitForFixedUpdate, WaitForSeconds, WaitForSecondsRealtime, WaitWhile.

using UnityEngine;
using System.Collections;

public class WaitUntilExample : MonoBehaviour { public int frame;

void Start() { StartCoroutine(Example()); }

IEnumerator Example() { Debug.Log("Waiting for princess to be rescued..."); yield return new WaitUntil(() => frame >= 10); Debug.Log("Princess was rescued!"); }

void Update() { if (frame <= 10) { Debug.Log("Frame: " + frame); frame++; } } }


WaitUntilInitializes a yield instruction with a given delegate to be evaluated.

Inherited members


keepWaitingIndicates if coroutine should be kept suspended.