Using multiple triggers for one single event?

Hi there,

In my level I have 2 (would like more) triggers. One of these trigger, on overlap with player, shows a widget and I can press E (my activate button ) to enter.

When I press E on overlap it loads a new level which is everything I need.

But I would like to place another trigger in the same level in which the same widget pops up and I can still press E to activate.

think of it as 2 doors to a house.

I have a bool deciding whether I’m in the trigger so it can pop up the UI and i can only activate the door when Im within that trigger. here are some screenshots to help -

So here is what My widget blueprint looks like -

It is referencing the bool from the trigger to decide whether to show the text or not.

Here is what the trigger blueprint looks like -

I’d rather not need to create multiple bools for each trigger or multiple text widgets. Doesn’t seem efficient.

and finally the level blueprint -

I hope You’re understanding what I’m asking. I’m thinking an array of some sort but I don’t know…

Thanks!

You need to review your logic a bit.

Your triggers should be self-contained BP and should not rely on the Level BP to do their job. With each trigger being self contained, you can place as many as you want in the level and they will all work in the same exact way when the player overlaps them.

The trigger which has been activated can send a message (via Event Dispatcher) back to the Level BP to start the new level as soon as the player presses E while overlapping it.

Always good for someone else to look at it. Half of my stuff is probably super shoddy XD
I’ll review the blueprints again but changing level didn’t work when I had it in the trigger which is why I have it in the level blueprint. I’ll take another look and see what comes of it.

Yeh, i don’t know why but I can’t load the level when in the trigger. I can when I have it set to just walking into it but on a key press with the condition I’m within the trigger doesn’t work. here’s the trigger blueprint -

Ok that did the job. How can I use these blueprints with different levels to load? it only seems to want to open one level. I can’t have it as multiple triggers in one level that open different levels if that makes sense. Trigger 1 (on level 1) should open level 2, trigger 2 (On level 1) should open level 2 etc.

Yep, that’s what I thought. did it already and it doesn’t seem to work…

This is the trigger blueprint now -

I have the “LevelName” set to none in the blueprint. In the level, i have 2 triggers. One with the LevelName exactly the same as the map intended to travel to. And the other with a different map name but still exactly the same name as intended travel map.

Try to set Auto Receive Input Player 0 for your trigger Blueprint

Easy. Create a variable of type Name in your trigger blueprint. Call it Level to Open. Make it Editable (click the eye close to it or check Editable in the properties). Now drag the variable in the Event Graph, do a Get and connect it as Level Name input to the Open Level node.

Now place as many triggers as you need around the level. For each one, in the Details panel, you will find the variable Level to Open. You can enter the name of the level each trigger should open there and that trigger will open that level once activated.

It should work. Make sure your level name is exactly is it should be. Can you show your modified Blueprint?

Can you place a Print String between Branch and Open Level and use it to print out the level you are opening?

The one trigger opens the correct level and prints the correct name as far as i can see. The other doesn’t do anything when I press the button to travel; not even a print string.

That worked perfectly. Thank you kindly! I appreciate the quick and effective responses.

I think I know what is happening. The first Trigger consumes all the input and doesn’t let the other triggers receive it. Click on the Input Action Activate event, in the details panel there is an option Consume Input, which is checked. Uncheck it.