Object Construction Relative to EventBeginPlay

I have a level that has actors placed in it via the editor. I’m confused as to when exactly the BeginPlay events begin to fire for objects placed in the editor when a level is loaded. I have two guesses on how it may work:

  1. As the level loads, each object is constructed and sent a BeginPlay event (I hope this isn’t the case).

  2. All objects are constructed in the level, then each of them are sent a BeginPlay event.

Can someone clear up what occurs behind the scenes on this, or point me to the relevant documentation for level creation and actor construction? Thanks!

To be clear, I am not asking about the order in which actors call their BeginPlay events, I’m asking about when these events start firing during the construction of a level.

===========================================================

Here’s a slightly more detailed description of what I’m attempting to find out:

I have an actor in the level that acts as a manager and contains references to other actors. Those references are public variables, and thus, the referenced actors have already been assigned in the editor.

I have a player controller assigned to be spawned by the game mode as usual, and in its BeginPlay event, I find the manager actor in the level. I then attempt to access the referenced actors from the aforementioned manager. Will these references always be valid? Or are they only valid after the managing actor has been fully constructed?