Jak wiadomo w Unity każda metoda ( Awake, Start, Update ) ma swoją kolejność wykonywania. Jedna jest wywoływana wcześniej, inna później. Warto znać ich kolejność i w jakiej sytuacji jest wywoływana, oczywiście metody są przedstawione w odpowiedniej kolejności.
Edytor:
Reset – Wyzwalana jest wtedy, gdy dołączamy skrypt do obiektu lub użyjemy komendy Reset
Załadowanie sceny:
Awake – Wyzwalana jest podczas startu gry przed metodą Start w momencie inicjacji obiektu
OnEnable – Wyzwalana jest zaraz po inicjacji obiektu, oczywiście jeżeli jest on aktywny
Przed pierwszą klatką:
Start – Jednorazowo jest wyzwalana przed pierwszą klatką
Pomiędzy klatkami:
OnApplicationPause – Wyzwalana jest klatkę po tym jak została gra wstrzymana
Kolejność aktualizacji klatek:
FixedUpdate – Wyzwalana jest częściej niż Update co oznacza, że kod z tej metody jest wykonywany kilka razy podczas jednej klatki.
Update – Wyzwalana jest co jedną klatkę
LateUpdate – Wyzwalana jest zaraz po Update kiedy zostały wykonane wszelkie obliczenia na obiekcie.
Renderowanie:
OnPreCull – Wyzwalana jest zanim obiekt zaczna być widoczny dla kamery
OnBecameVisible/OnBecameInvisible – Wyzwalana jest kiedy obiekt jest widoczny / niewidoczny
OnWillRenderObject – Wyzwalana jest dla każdej kamery która widzi dany obiekt
OnPreRender – Wyzwalana jest zanim kamera zacznie renderować scenę
OnRenderObject – Wyzwalana jest kiedy obiekt jest renderowany na scenie
OnPostRender – Wyzwalana jest po tym jak scena została już wyrenderowana
OnRenderImage – PRO – Wyzwalana jest kiedy można nałożyć postprocessing
OnGUI – Wyzwalana jest kilkukrotnie podczas klatki i przejmuje wszelkie zdarzenia na ekranie GUI ( Klawiatura, mysz )
OnDrawGizmos – Wyzwalana jest kiedy potrzebujemy rysować gizmos na scenie
Zniszczenie obiektu:
OnDestroy – Wyzwalana jest w ostatniej klatce w której obiekt istnieje ( zaraz przed usunięciem go ze sceny )
Zamykanie aplikacji:
OnApplicationQuit – Wyzwalana jest przed tym jak zamkniemy aplikację, zamkniemy kartę w przeglądarce lub naciśniemy Stop w edytorze
OnDisable – Wyzwalana jest kiedy obiekt przestaje być aktywny
Jest to mniej więcej przetłumaczona wersja tego artykułu: oryginał.