Player collision works fine on spawn. I Open/Close Menu. Player now falls through floor

I am trying to simulate being in a game match, opening a menu, closing it and resuming the same level.
I have collision for the player capsule as well as the floor. What doesn’t make sense is that collision is fine on initial spawn. I can run around and jump just fine, but the moment I access my menu, close it and return to the level, my player falls through the floor. I’ve checked all the usual suspects that other posts concerning “player falls through floor” entail. Any ideas?

EDIT: My blueprint for when I open the Menu is as follows:

I notice you’re checking if the level is visible. If it is, you’re re-loading it.

A well known quirk of level streaming is that the player will fall through the level, if they are in the level before it’s finished streaming.

But rather than work around that, why not just not re-load the level?

Thanks for the reply! So are you saying the level is reloaded, whether the level is visible or not, upon running the “Is Level Visible” function?

So I should just re-load the level when I exit the menu?

I thought I was only checking the visibility of my Test_World level. If it is visible, then I load the Menu stream level and then set the Test_World level to not visible. If Test_World is not visible (meaning I’m in the Menu) and I press the Menu button again, then my blueprint specifies to set Test_World to not visible, and unload the Menu stream level. So you are saying, despite all of this…Test_World is still getting re-loaded, causing my player to fall through?

For clarification, I’m trying to simulate being in a game match, opening/closing a menu, and resuming playing, all in the same level. I’m not trying to load a different level from the menu.


After you’ve check it’s visible, you re-loading.

Am I misunderstanding the Load Stream Level by Name? If I put the name of the level (Menu) in there, then checking the “Make Visible After Load” box is saying to make the Menu Stream Level visible after loading the Menu stream level, not after loading my currently streaming level Test_World. Is this wrong?

Sorry sorry, my fault. I thought it was the same level.

In which case, you should be fine to just stream the menu level.

But I do see you are unloading the level the player is standing on just after loading the menu, is that right?

No worries, I’m very new to this so anything I can learn more from this is helpful.

I’m not sure if toggling visibility will cause the player to fall.

Why not just put a background plate in the menu ( you can fuzz out the loaded level )?

1 Like

I have Menu and Test_World underneath my Persistent Level of Base_Level. Test_World is set to Always Loaded, and Menu is set to Blueprint. Now when I hit the Open Menu button, none of my blueprints change the Test_World that my character is standing on, except the visibility of it. The only Unload/Load being done is on the Menu stream level. That’s why it’s not making sense to me.

Like I say, I wonder if visibility causes the fall. Here’s a 50% black background:


That’s a great suggestion, and something I will probably do in the end. I think what’s killing me now is that if I wanted to do it the current way, I can’t figure it out. Or worse, if I needed to do it this way for some reason, I can’t figure why my dude is falling through the floor.

I see what you are saying. If hiding it ( setting it not visible) literally makes it disappear. I mean that would do it right…

I found in some other post that setting the Visibility of a streaming level supposedly destroys the actors and then spawns them again when set to visible. That doesn’t sound right to me but if that is true then you are correct.

1 Like