MonoBehaviour.StartCoroutine returns a Coroutine. Instances of this class are only used to reference these coroutines and do not hold any exposed properties or functions.
A coroutine is a function that can suspend its execution (yield) until the given given YieldInstruction finishes.
// - prints "Starting 0.0" // - prints "WaitAndPrint 5.0" // - prints "Done 5.0"print ("Starting " + Time.time); // Start function WaitAndPrint as a coroutine yield WaitAndPrint(); print ("Done " + Time.time);function WaitAndPrint () { // suspend execution for 5 seconds yield WaitForSeconds (5); print ("WaitAndPrint "+ Time.time); }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { IEnumerator WaitAndPrint() { yield return new WaitForSeconds(5); print("WaitAndPrint " + Time.time); } IEnumerator Example() { print("Starting " + Time.time); yield return WaitAndPrint(); print("Done " + Time.time); } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): def WaitAndPrint() as IEnumerator: yield WaitForSeconds(5) print(('WaitAndPrint ' + Time.time)) def Example() as IEnumerator: print(('Starting ' + Time.time)) yield WaitAndPrint() print(('Done ' + Time.time))