Search Unity

  1. Improved Prefab workflow (includes Nested Prefabs!), 2D isometric Tilemap and more! Get the 2018.3 Beta now.
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. Let us know a bit about your interests, and if you'd like to become more directly involved. Take our survey!
    Dismiss Notice
  4. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice
  5. 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:
    913
    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.