I have actors using BeginPlay but with level streaming. It is out of sync with other actors. Therefore some actors do not load. There appears to be no way to check when streamload is done at the start before firing “beginplay”. (and no I’m not hardcoding a check for “get streaming level”)
When the level has streamed, begin play will be called for the actors. But there’s no guarantee that it will happen in the same order as in a level you have open in the editor.
Basically, you have to code the actors to look for a sign that they are all ready to start. How exactly you do that is up to you.
You could have a central actor they all register with, which uses an event dispatcher when they’re all ready.
Another trick, is to change the tick group an actor is in

That can force them to start in a predictable order.

