Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Start can be an IEnumerator

Discussion in 'Documentation' started by MSplitz-PsychoK, Jul 18, 2018.

  1. MSplitz-PsychoK

    MSplitz-PsychoK

    Joined:
    May 16, 2015
    Posts:
    1,278
    I just happened to know that Start() can return IEnumerator to be treated as a coroutine, but I can no longer find this in the documentation. I was curious if any other Unity messages could return IEnumerator, and it took me some digging through the forums to find this:

    Most Unity callbacks can be coroutines. Unity automatically starts it as coroutine if it returns an IEnumerator. Only a few can't be a coroutine. Most commonly: Awake, Update, LateUpdate, FixedUpdate, OnGUI, OnEnable, OnDisable, OnDestroy. I probably forgot some others, however it's usually stated for each callback if it can be a coroutine or not.
    (source: https://answers.unity.com/questions/754968/can-monobehaviorstart-return-an-ienumerator-hint-y.html)

    I think this would be great to mention to the Monobehaviour Scripting API page, Coroutine Manual page, and possibly the Monobehaviour.Start() documentation.