What Happens in Scene Load


I wanted to know exactly what the logic is in scene loading.

Apart from loading the objects and resources into memory are all the Start() or Awake functions called before loading is finished?

For example if I have a very expensive operation and put the function in Start(), will it cause a lag at the start of my game?


As I know the Start and Awake function run befor you can see the new scene.

I had a very expensive Start function in a Scene and every time I wanted to load this Scene I had to wait until the Start function was finished.