In your HUD screen shot you are doing something very weird. You create a viewport widget initially of type “BP Layout”, then you also have a 3D widget which you cast to “BP Layout” and that is what you set as the reference for the BP_Layout used in you button click event for widget 1. So you are using the viewport widget for the button click and having it find the 3D widget to actually do anything. So I think what is happening is that your BP_HUD which has a 3D widget attached to it somewhere (not even sure how that is working honestly) is what is getting its visibility toggled not the viewport widget. Delete the 3D widget (the whole user widget object stuff) and instead store the viewport widget (the one you made using the “create widget” node) as the Layout Ref variable instead. I am not sure why you have a 3D widget on a HUD BP anyway, it is unnecessary.