Корутіни

Після запуску п'ять разів рухати об'єкт все швидше

void Update () {

     if (Input.GetKeyDown(KeyCode.F)) StartCoroutine(K1());

}

IEnumerator K1() {  // реалізація інтерфейсу IEnumerator

     while (true) 

     {

          for (int i = 0; i < 5; i++)

          {

               transform.Translate(Vector3.right * i);

               yield return new WaitForSeconds (1f);  

          }

     }

}

Зупинити корутін

private IEnumerator coroutine;

void Start()

{

     coroutine = P1(5f);

     StartCoroutine(coroutine);

}

IEnumerator P1(float t)

{

     while (true)

     {

          Debug.Log("1");

          yield return new WaitForSecondsRealtime(t);

          Debug.Log("2");

     }

}

void Update()

{

     if (Input.GetKeyDown("space"))

     {

          StopCoroutine(coroutine);          

     }

}