Version: 2019.1

WaitUntil

class in UnityEngine

/

Inherits from:CustomYieldInstruction

Switch to Manual

Description

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++; } } }

Constructors

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

Inherited members

Variables

keepWaitingIndicates if coroutine should be kept suspended.