Hello there…
Alright, so im new to the whole yield keyword and corutines in unity.
So im pretty confused as it is, and not having it behave like it ‘should’, doesnt make it easier
Anyway, here’s what i want to do:
This is taken directly from here.
using UnityEngine;
using System.Collections;
public class example : MonoBehaviour {
IEnumerator Do() {
print("Do now");
yield return new WaitForSeconds(2);
print("Do 2 seconds later");
}
void Example() {
Do();
print("This is printed immediately");
}
}
And this is my code:
private void SetView()
{
ActivateFirstPersonView();
Debug.Log("This is immediately after");
}
public IEnumerator ActivateFirstPersonView()
{
Debug.Log("Starting");
yield return new WaitForSeconds(2);
Debug.Log("Finished");
}
The problem is, ‘ActivateFirstPersonView’ isnt being called at all.
If i use,
StartCoroutine(ActivateFirstPersonView());
instead. Then it behaves like it should, I just dont get it?
Is it a documentation error? I hope not, because i would like to call the method without starting a coroutine, for simplicity’s sake.