Teleport on Level Blueprint not working upon Overlap

Hi guys.

I’d like an object to teleport back to it’s original location upon overlapping with a trigger. My current blueprint scripts are not working however and I’m not sure what the problem is.

This was my first attempt

And this was my second

Any help would be greatly appreciated :slight_smile:

Thanks!

The issue with your first attempt is that you have it hooked up to “event begin play”. This means when the level is created it is going to check that condition (is X overlapping Y) it then sets a variable you made called P1 overlap, but P1 as far as I can see is simply a boolean value you are “setting” it really isn’t functional as anything. You could just as easily delete it and hook the overlap function directly into the branch. But regardless, the issue remains that you are asking if something overlaps something else on begin play, this is not going to execute when something overlaps a “trigger”.

As for the second attempt, looks much better and simpler, however, you have not hooked anything up to the “overlapped actor” pin. So who is overlapping the trigger? You haven’t told the computer which actor to look out for during an “overlap” event.

What I think you want to do is from your 2nd screen shot, drag off the “overlapped actor” pin and search for “equals object” and plug the “fallkillvolume” into the empty pin, now it will compare the overlapped actor with the fallkillvolume ref and if true it will teleport the bridgepickup back to the original location.

Hey!

Thanks for the reply

Did these two based off your feedback. Unfortunately it is still not working :frowning:

In my mind, it should check if overlapped actor is the bridge ref, and if so, then teleport that bridge back to original position.

What have I missed?

3rd try

4th try

What is it doing? Does it not teleport at all or does it teleport but not where you want etc? Stick with attempt 3, the 4th one doesn’t make sense. It asks if kill volume overlaps kill volume…

Try printing strings from your branches to see if the overlap is happening. If not check collision on your 2 actors and make sure they are set to receive overlap events from each other, so check the collision handling settings. Also make sure overlap events are enabled to start with.

Ok, so it isn’t teleporting at all. Using the 3rd blueprint + print strings, I found that when I moved it from overlapped actor over to ‘other actor’, that was when the branch would fire true (otherwise it always fired false)

Unfortunately my object is still not teleporting, so I tried I print string on the teleport return value as well and it was returning true, however my object just kept on falling (despite having passed through the trigger volume, and everything returning true.

The originlocation1 is an empty actor I set in the scene.

Here is a screenshot of my script.

Also made sure on both collision settings that overlap was set to pawn.

Solved! So, I am assuming the bridge pick up item is a physics object hence why it “falls” and you want to place it back where it should be correct? I was unable to get it to work on a physics object with the “Teleport” node, however, using the “Set World Location” node I was successful in getting it to relocate. Here is the functioning setup. Try this and let me know.

Yes!! Thanks so much. Your script helped perfectly :smiley:

Though instead I used originlocation1 instead of killvolume, and got the scene root loc and rot.

Out of curiosity, I was original trying to figure out how to do this from my BridgePickUp script (rather than the level blueprint). How can I create a reference to my killvolume bp from the bridge script itself, and have this all work as intended? Everytime I try to drag the killvolume bp into another script, it won’t let me.

Cheers!

So…I got it working in the “KillVolume”, although I had to switch “Set World Location” node to “Set Actor Location” it wasn’t working otherwise. It is doing the exact same thing just slightly different node…anyway, this is how you can achieve what you want.

Also, if you wanted it to run from the BridgePickUp instead of the KillVolume (you get the exact same result) but if thats what you want, just switch the “overlap” and the “cast” nodes. So in the bridgepickup, you would use the mesh as the “overlap” execution, and then cast to “killvolume” but “Set Actor Location” would need a reference to the “Bridgepickup” so it wouldn’t connect from the cast node like above otherwise you’d end up moving the killvolume.