Legacy Documentation: Version 4.5.0

Script language:

  • JS
  • C#
  • Boo
Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Coroutine

Namespace: UnityEngine

/

Inherits from: YieldInstruction

Description

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))

Inherited members