En el scripting de Unity, hay un número de funciones de evento que no son ejecutadas en el orden predeterminado como un script ejecuta. Este orden de ejecución es descrito abajo:
Estas funciones son llamadas cuando la escena comienza (una para cada objeto en la escena).
Tenga en cuenta que para todos los objetos agregados a la escena, las funciones Awake y OnEnable para todos los scripts serán llamados antes de que Start, Update, etc sean llamados en cualquiera de ellos. Naturalmente, esto no se puede lograr cuando un objeto es instanciado durante el gameplay.
Para objetos agregados a la escena, la función Start será llamada en todos los scripts antes que Update , etc sean llamadas para cualquier de ellos. Naturalmente, esto no puede suceder cuando un objeto es instanciado durante gameplay.
Cuando usted hace seguimiento de la lógica de juego y las interacciones, animaciones, posiciones de cámara, etc., hay unos eventos diferentes que usted puede utilizar. El patrón común es realizar la mayoría de tareas dentro de la función Update , pero también hay otras funciones que usted puede utilizar.
FixedUpdate: FixedUpdate a veces es más llamada que Update. Puede ser llamada varias veces por frame, si la velocidad de frame es baja y puede no ser llamada entre frames en absoluto si la velocidad de frame es alta. Todos los cálculos de física y actualizaciones ocurren inmediatamente después de FixedUpdate. Cuando aplique cálculos de movimiento dentro de FixedUpdate, usted no necesita multiplicar sus valores por Time.deltaTime. Esto se debe a que FixedUpdate en un temporizador fiable, independiente de la velocidad de frames.
Update: Update se llama una vez por frame. Es la función principal para las actualizaciones de frames.
LateUpdate: LateUpdate es llamada una vez por frame, después de que Update haya finalizado. Cualquier cálculo que sea realizado en Update será completado cuando LateUpdate comience. Un uso común para LateUpdate sería una cámara de tercera persona que sigue. Si usted hace que su personaje se mueva y gire, Update, usted puede realizar todos los cálculos de movimientos de cámara y rotación en LateUpdate. Esto asegurara que el personaje haya sido movido completamente antes de que la cámara haga un seguimiento a su posición.
Actualizaciones normales de Coroutines (corrutinas) son ejecutadas después del return que hace la función Update. Una coroutine es una función que puede suspender su ejecución (yield) hasta que la YieldInstruction finalice. Diferentes usos de Coroutines:
Estas funciones son llamadas en todos los objetos activos en su escena:
El siguiente diagrama resume el orden y repetición de funciones de evento durante la vida de script.