Silent hill 2 style teleporting door system via blueprint?

I’d like to have an interactable door (an actor) that lets you teleport from one side to the other depending on the side from where you are interacting.
If you are on one side (A) and interact with the door by pressing an Input on the keyboard you will be teleported to the other side (B) and viceversa, just like in old Silent Hill/Resident Evil games.

I know that in these old games you were being teleported to a completelly different room/level (maybe they did that to save space etc…) but I don’t need that, I just want to teleport from one side of the door to the other.

Any suggestions on how to make such a system via blueprint?

  • create a volume you can place around the door
  • on overlap/collision/hit event teleport the player

almost all interactive things have a sphere, box, or other kind of volume to act as the trigger-box (to use a term). that think has a collision/overlap event set so it the thing overlapping is the player, you can do logic, like throw a prompt on the screen, etc.

otherwise, instead of the thing looking for players or other things that can interact with IT, you could do the opposite and run a line-trace/sphere-trace from your character and parse through the hits to see if you have an interactable thing, then do logic… In this case, you would put an interface on each interactable thing, so the player can just call ‘traced object-> interact’.


I’ve created this simple line trace that detects if the actor has an “Interact Interface” and send a message “Door Interact” from the interface.
After that I have created an actor (Spawn Door) and added the Interact Interface and a door mesh component that has two collision boxes (Box A and Box B) and two arrow components (Side A and Side B) that I’ll use to tell the character where to teleport with location and rotation.
The problem is How do I tell the character if I’m Interacting with Box A or Box B?
I don’t know if it makes sense but I can’t find a solution since I’m not very good at usind Blueprint or programming in general.

Hi, to know on which box u r, u hv to use the event on begin overlap on Box_A by right click on it in list , same for Box_B and from those event cast to ur charcter blueprint, and after the cast to u can put all the logic u want! cast to will mean that it is ur chrarcter on Box!

Hi, this detects in wich box I’m standing but how do I interact with the door by using the sphere trace?

I need to overlap in box A/B and after pressing an Input and tracing a sphere trace towards the door I need to teleport based on wich box i was standing in. I need this so that you can interact only by pressing an Input while facing at the door, wich is more stable and predictable for the player.

Ok so after trying different things I found this solution with a boolean and a branch, I don’t know if it’s the best solution but it works.
I will try to add the rest of the logic and maybe a fade in/fade out black screen etc…

I’ll flag this post as Solved once I think everything works as it should and I don’t have anything else to ask, thank you very much for all the answers!