You can see the issue in this video:
When I save the game, I make an array of strings of all of the levels that are currently loaded. When I load the saved game, I iterate through that array and call GetALocalPlayerController().ClientUpdateLevelStreamingStatus(LevelName, true, true, true)
For good measure, I also set GetALocalPlayerController().SetPause(true);
In that function.
Then I set a timer to check if WorldInfo.StreamingLevels[i].bHasLoadRequestPending
. If all of the levels have been loaded, then I load the pawns’ saved locations, and finally I set GetALocalPlayerController().SetPause(false);
I would have thought that with all of that in place, the pawns wouldn’t fall through the landscape. But they do. And I can’t reproduce the bug on my own computer.
Any idea what else I can do to prevent the pawns from falling through? Maybe I should put one more timer to make the game wait a moment longer before unpausing. Maybe I should put a blocking volume in the persistent level under every save point. I don’t know. I guess I’ll try those, but if anyone knows of a better solution, I’ll gladly try it.
(Issue has nothing to do with UE 4-26, but I can’t post my question without tagging it.)