Level Streaming -- level instances loading later than expected

I am trying to load into a new level using level streaming. In the blueprint of the level I am loading, I am adding new instances to the level during the level’s beginplay event.

Due to this I needed to use a empty pawn for my character and only replace it after all of my new instances have been added to my streaming level. For some reason, even though my new player pawn isn’t added and possessed until after all instances are added, when I run the game, my pawn gets loaded before the level, and I fall through it.

What seems really weird to me is that if I pause the game after my pawn loads but before the map loads, the map will load in even while the game is paused, and then I can normally land on the map.

I guess I’m not sure if level streaming is being executed on another thread automatically, even though it’s part of the same blueprint execution as what loads my new pawn.

Does anybody know why my pawn that gets loaded later in the blueprint flow is showing up in game before the map?

The picture is quite small, I can’t see it clearly, but I believe that Load Level Instance and Load Stream Level are asynchronous calls.

If you are using Load Streaming Level, you should check the “Should Block On Load” option.
If you are using Load Level Instance, you should check if your Level Streaming Kismet is loaded or not, and and block any operation during the load.

Yeah, maybe I can re-export it at a higher resolution so it’s a bit more useful, but maybe that’s not necessary.

Just to be as clear as possible, I am using UGameplayStatics::LoadStreamLevel to switch to my new level and then in that level’s blueprint I am using Create Instance with a target of one of my streaming levels in the new persistent level. In my LoadStreamLevel call I do have ShouldBlockOnLoad set to true.

So based on that and your answer I assume I need to check if my Level Streaming Kismet is loaded and block on that. Unfortunately I’m not really sure what my Level Streaming Kismet is here… and googling around I don’t see anything concrete. Any further pointers here?