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.
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
IEnumerator WaitAndPrint()
{
// suspend execution for 5 seconds
yield return new WaitForSeconds(5);
print("WaitAndPrint " + Time.time);
}
IEnumerator Start()
{
print("Starting " + Time.time);
// Start function WaitAndPrint as a coroutine
yield return StartCoroutine("WaitAndPrint");
print("Done " + Time.time);
}
}