Loading map with in game object? (need help)

Right I’m really stuck but I’m bit of a noob so might be a simple problem. I want to load a new map when you place a box on a platform (being built on the Vive with vive controllers). How do I do this with blueprints?

Do you want to change maps or do you want to load a new map with the current map still loaded?

Depending on which you want to do, your answer will be very different!

If you want to trigger going to an all new map, then just use the tutorial here:

A more advanced version with a loading screen here:

Now if you’re talking level streaming, watch this instead:

Hi thank you for that.

Well it both, but we will just stick with load an all new level. The problem is I know how to set both of those up with the player character triggering it or map it to a controller button. It’s just I don’t know how to do it with an in game object that got me stuck.

The example being I place a box on a platform and that triggers the load, not you the character. I could walk across the platform and nothing will happen but unless I’m holding or place the box and that triggers it.


In that case, IMO you just need to do this:
New Blueprint of ACTOR class.
Add static mesh component. Make sure it’s movable.
Add a cube static mesh.

Add a Box Collision component.
Add event “On Begin Overlap”
From the “Other Actor” pin of the Begin Overlap, click drag into empty area.
Now type ==
Select your Box from the pull down menu.
Connect the red pin from the == to the red dot in branch.
Connect the execution pin from overlap to the branch.
Connect TRUE to Open Level.

Now place this invisible trigger wherever you want the box placed.

The moment it overlaps and it detects the box you will change levels so make sure the box isn’t too big.

That brilliant thank you, just to clarify is that two separate blueprint actor classes? The first being the Mesh box and a complete separate one for the collision box blueprint?

Yes, two separate Blueprints are needed.
I would name them BP_LevelChangeBox(blueprint with JUST the static mesh) and BP_ChangeLevelTrigger(blueprint with JUST the box collision.)
In the == node, make sure that node that isn’t connected to == has “BP_LevelChangeBox” instead of “select asset.”

There are some extra things you can do to make these blueprints easier to reuse but for the bare basics of what you’re after, this will work.

Did you get it to work the way you wanted? If so, please mark this issue resolved by hitting the check icon by my answers. Thanks!