MonoBehaviour
Event Functions
Reset()
Reset is only called in editor mode.
Very useful to setup values for your attributes, i.e. find a child component.
Use it with the RequireComponent attribute to always get a reference for your component.
Awake()
Start()
Start is guaranteed to be called before the first FixedUpdate() or Update() for this component.
If no FixedUpdate() or Update() events are defined, Start will be run at the end of the frame the object awoke on.
OnDisable/OnDestroy()
Both events are not affected by script execution order.
Scene is traversed from each root separately in unspecified (non-hierarchy) order, e.g. [root 1 and all its children], [root 2 and all its children]. “root” being a top-level GameObject in scene.
All OnDisable calls are performed before all OnDestroy calls within a single root.
Only root GameObject activeSelf
is changed, for children it will not be changed.
Components are traversed in the order they appear in Inspector, top to bottom.
OnDisable:
OnDestroy:
Call order: same as hierarchy, parent before child.
(Above Tested with 2017.4 and an opened Scene running in play mode in editor by stopping the play mode, may differ for other versions/situations)
OnBecameVisible()
OnBecameInvisible()
Does not get called if the game object is rendered by a ugui CanvasRenderer