I know it is explicitly said in the video during this chapter, but don’t be like me and waste a half hour (embarrassing!) by tidying up your hierarchy and eventually put “Portals” under another section like “Environment”. I did this many lectures later during projectiles and such.
Went to show my wife my super cool progress and I wouldn’t load into the new scene.
The worst part is that debugging this can be frustrating because your code execution just STOPs while doing LoadSceneAsync. No error is thrown, it just will not call “FadeIn” or any other code. I had print statements never getting called and was scratching my head.
(perhaps this is explained later and I haven’t finished the whole tutorial but…) Turns out this happens because LoadSceneAsync will delete the previous gameOBject that was the caller to the Coroutine if it is a child of any object. So by deleting the game object, it makes it confusing why your breakpoint doesn’t get hit after that (because it’s dead). Moved those suckers up to the top level like Rick said to do and everything was okay again.