So I’m setting up a series of level streaming volumes and my first two worked out fine, it loads in and unloads a previously unloaded level.
However I’m now trying to stream out the level in which the player starts (Set to “Initially Loaded and Visible”) and the trigger box to stream these two levels out (“Exterior” and “Cave”) don’t work on the first time passing through, but they do trigger every time after that. So, passing through them initially does nothing, and then when you come back from the opposite direct (when the level needs to be streamed back in) it streams it out.
Any ideas what’s going wrong? I’ll attach an image of my current blueprints, though they’re the same for the levels that are working perfectly.
Also, as a second question, is there any way to avoid the issue of a player hitting the trigger box (to stream out a level) and then walking back the way they came without completely walking through it (so they don’t trigger it again to stream the level in when they walk back). I’m having the issue where if I touch a trigger box to stream out a level, and then just walk back to where I came from, you can return to where there is no longer a level and I can’t think of a workaround…
I’m new to level streaming and have only really watched a few guides on how to do it.
Thanks a lot.
Dunno what the issue is with the first problem but the second one I have a couple thoughts.
- You could try making the collision box so “narrow” that is is virtually impossible for the player character to not walk completely “through” the volume before being able to walk back thus preventing the issue where they walk from point A into the trigger which removes “level A” while streaming in “level B” and setting your booleans as you have laid out BUT the player never exits completely the trigger volume thus never truly entering “level b” so the next “trigger” event can come from the same side if the player returns to “level A” then back into the trigger volume which will now stream A back in and remove B although the player is now heading towards Level B.
- The other thing you can work into the logic is to use “on actor end overlap” to set your boolean values (i haven’t worked out the logic for this myself) but you can use the end overlap event to see when the player crosses through the trigger volume and then some other variable to identify which level the player actually entered.
Actually now that I think about it, you haven’t specified which actor “overlaps” the trigger volume, so it may be triggering without you realizing and setting your booleans to values you aren’t expecting them to be at by the time the player interacts with the trigger volume. Print a string right after the “on overlap” event and see if they are triggering before the player even reaches them. Your booleans could be reversed from what you expect if they trigger initially when they are instanced during level creation.
Thanks for the response!
In terms of your first point, I’ve already tried the “narrow” option, but the trigger happens as soon as the player hits the box, so there’s still the option of them sticking a toe in from one side and then going back on themselves.
In terms of your second point, I see where you’re coming from, and I’m sure this would work, but I’m not too knowledgeable on blueprints other than what I’ve seen in tutorials, so I’m not entirely sure how to make this work… Also, wouldn’t the “end overlap” still trigger if they go in to the box and then just leave it again the way they came?
And for your final point, you’re very true. Does this mean I need to make it so that it only interacts with the player actor? I have the blueprint open when I play the level and it doesn’t seem to have trigger beforehand. Also, I have the player spawning in the level that the trigger box in question is trying to stream out. However, now that I think about it, the starting level is set to “initially loaded and visible”, so if it’s being immediately streamed out it could counteract this while still keeping the level there from the start? I dunno…
Also, for the third point you raise, this is only an issue with these two triggers, whereas the others in my project work fine, and I can’t see what’s different about them.
I’ll have a play around and see if I can figure something out. Thanks again for your help.
Discovered the issue. When I walk through the two trigger boxes, it’s activating the “False” node of the Branch. Not entirely sure why, as they levels are loaded in… Is there a way to reverse this or would it just be easier to just swap round the “True” and “False” branches? Seems like a workaround but not necessarily the right way to do it!
Edit: I need to make it so the FIRST time you go through the boxes, it goes to “False”, and then have it work as normal after that. Is that even possible to do?
Still struggling with my second point. Finding it hard to visualise what needs to be done to the blueprint/boxes to avoid the player walking back on himself.
For the second issue I would suggest once the player enters the trigger volume have an actor, a box, target punt etc, doesn’t need to be visible on the other side of the trigger volume clearly within the level you just streamed in and clearly outside of the trigger volume area and in addition to having the level stream in and out have it set the player location to the point on the other side of the trigger. Then when they come back into it have a similar point on the opposite side and set their location there. This will prevent any partial overlap and return back to the same side.