"Open Level" Blueprint Node Executes After Following Nodes?

I’m trying to write a load game function in Blueprints, and I wanted to double-check something. It seems to me like the “Open Level” node actually doesn’t open the specified level until after the following nodes are executed. Can anyone confirm that? Is that intended or not?

Example:

In this example, I’m running the game in PIE mode. I start the game, and see my player controller is called “PlayerController4”, for example. I hit K, and the level re-opens, but the message printed is “PlayerController4” even though my new player controller is “PlayerController5”.

The more problematic side effect I’m seeing is that if I add any Spawn Actor nodes after the Open Level node, they apparently are getting spawned before the level is opened, and the new level being opened clears them away.

Anyone know what’s going on here? Thanks!

because that’s how things work? You’re changing level, but the print string is still part of previous level, and before executing everything is encapsulated and calculated.

It’s still happening in 4.14 as well.