Techniques for ensuring BP construction order?

From what I’ve gathered around the forums and such it seems that the construction order of objects and other things in ue4 is a bit random. For instance in one game my gamemodeBP is constructed first, followed by my levelBP and then my cameraBP and other actors. This is the order I would expect. However in another game the construction order was my cameraBP and other actors first, followed by the gamemodeBP and then the levelBP. My question is are there any techniques anyone currently uses in order to solve this problem? I’ve heard of one where you create a custom init function and have that initialize other classes from within the previous class’s beginplay() function. However I’m not sure how to really go about implementing this. Any help on this topic is appreciated.

First, i highly doubt Begin play and Construction script was called on actors in level before game mode and level blueprint, highly doubt.

Second, there are no, as far as i know, reliable way to ensure construction order.

Third, what you can do, is change programming “point of view” of your code. From : “Lets do it, are you ready?” to “Im ready Lets do it.”. Since you can rely on game mode being ready before any other objects. You can call all main methods from there in specific order which ensure that other systems are ready. Also game mode have very handy events, like “on Post login”, which can give you starting point for player.

Thanks for the response! Okay, that’s good if that is the definitive case. I questioned it because in a previous version of my game when I tried to create or spawn a player within the gamemode or level blueprint for use within my camera actor I kept getting the “player none” error in ue4. When I printed out a log message for each BP’s begin play function it said my camera actor was being spawned first, followed by gamemode, etc. Maybe it was just a glitch or bug or something I’m not sure because it does work now.