Documenting the dark corners of the Unity Engine.

User Tools

Site Tools



Event Functions


  • 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 will still be called for disabled components on enabled objects.


  • 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.


  • 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:
    • Call order: same as hierarchy, child before parent. :!:
    • activeInHierarchy propagation can be unfinished for the following siblings and their children.
  • 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)


  • Does not get called if the game object is rendered by a ugui CanvasRenderer


  • Does not get called if the game object is rendered by a ugui CanvasRenderer
monobehaviour.txt · Last modified: 2022/01/28 17:26 by