Search Unity

  1. Get all the Unite Berlin 2018 news on the blog.
    Dismiss Notice
  2. Unity 2018.2 has arrived! Read about it here.
    Dismiss Notice
  3. We're looking for your feedback on the platforms you use and how you use them. Let us know!
    Dismiss Notice
  4. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  5. Improve your Unity skills with a certified instructor in a private, interactive classroom. Learn more.
    Dismiss Notice
  6. ARCore is out of developer preview! Read about it here.
    Dismiss Notice
  7. Magic Leap’s Lumin SDK Technical Preview for Unity lets you get started creating content for Magic Leap One™. Find more information on our blog!
    Dismiss Notice
  8. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice

Start can be an IEnumerator

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

  1. Gambit-MSplitz

    Gambit-MSplitz

    Joined:
    May 16, 2015
    Posts:
    842
    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.