Unity 3D C# - Layer Of Code Execution

I know it starts with

Void awake(){
}

then it goes

Void start(){
}

So what become before awake?

The only thing prior to it is a static constructor Static Constructors (C# Programming Guide)

In your call order you forgot to put OnEnable() before Start() So this is it:

  • Static Constructor
  • Awake()
  • OnEnable()
  • Start()