Search Unity

  1. We are migrating the Unity Forums to Unity Discussions. On July 12, the Unity Forums will become read-only.

    Please, do not make any changes to your username or email addresses at id.unity.com during this transition time.

    It's still possible to reply to existing private message conversations during the migration, but any new replies you post will be missing after the main migration is complete. We'll do our best to migrate these messages in a follow-up step.

    On July 15, Unity Discussions will become read-only until July 18, when the new design and the migrated forum contents will go live.


    Read our full announcement for more information and let us know if you have any questions.

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.