Course Request: Overall game architecture in Unreal Engine

I’d like to see a course where in and outs of the engine are discussed, where and WHY our code should be put in (GameMode? GameInstance? GameState? PlayerState?), different tradeoffs of design choices, as well as some obnoxious minutiae of things like several layers of Ininits, Loads and other lifecycle events that are a bit off a mess in UE, to avoid having to re-discover the wheel over and over by trial and error (Does this work only in editor mode? Maybe it should be Post Init? or maybe Post Load? Oh cool, my code doesn’t work because Pre-Init just returns nothing! etc.)