Why is my Door Blueprint ingoring inputs?

I wanted to implement a door that can be picked open via UI widgets and function like a basic open/close door. However, the first iteration of the code was bugged in that it would not completely remove the widget, i.e. my interact key would not open and close the door but rather start the timer widget I implemented again, even after I use a “remove all widgets” node. A friend suggested destroying the pickable door BP and spawning my regular door BP instead.

This advice worked, but now the current version of the blueprint does not cause the newly spawned door to execute, as if it’s bugged and does not acknowledge the switching of triggers. Is there something missing from my code, or is it just that the BP has become massively bloated and over-complicated by my friend’s suggestion?

Attached are screenshots of both my door and my first person character BPs for references

are you sure that the overlap is actually triggering? you may have changed some collision and now it doesn’t trigger

Coding’s not my strong point, so I took this friend’s advice at face value. But at the time, I did think there had to be a more efficient way around this.
Thing is, I had to make a workaround to get the widget function properly in the first place since the “remove parent” node didn’t work as intended.

This is what I had to do just to get the UI to disappear when I walked out of the lockpicking door’s hitbox

the overlap has “custom event” at the end of the name, so its not actually an overlap event anymore. try deleting and readding it.

Also why exactly are you using event binding? As far as blueprints go, theres generally no reason to do that unless youre communicating with the level blueprint or a widget.

The way you have this setup right now, if the overlap event in the door fires, it will call the overlap event in the player… which has no logic setup so it wont do anything. Instead, in the door bp, add the overlap event, have that have the logic you need.

if you need it to communicate with the widget, you can have a function setup that the overlap event calls, and then have the widget call that on button press. then call remove all widgets.

I also want to clarify I don’t understand what you’re suggesting I do. Do you have any pictures to illustrate your point?

first of all, your calling add to viewport twice whenever you overlap which is probably causing problems. second, dont use reroute nodes like that, jsut use get progress widget ref wherever you need it. do this instead, Overlap > Create widget > set progress widget ref > Do Once > Add to viewport > Endoverlap > get progress Widget Ref > Remove from Parent > Reset Do once

Well, this has fixed the issue with the progress UI and I managed to get the door to behave like a normal open/close door with the addition of a branch, but I’m still having to deal with the prompt UI persisting after I leave the collision box. That said, it’s a step in the right direction and I thank you for simplifying things for a bumbling idiot like me. I’ll mark my question as provisionally answered

Quoting this to use as the answer to this question

ViceVersa said:

first of all, your calling add to viewport twice whenever you overlap which is probably causing problems. second, dont use reroute nodes like that, jsut use get progress widget ref wherever you need it. do this instead, Overlap > Create widget > set progress widget ref > Do Once > Add to viewport > Endoverlap > get progress Widget Ref > Remove from Parent > Reset Do once

I also managed to get the normal door functionality working by including a branch before the flip flop that controls the movement of the door and setting up my “player picked door” boolean after the custom update timer node