I have a PopupMenu node that has a few buttons as children that I'm using to make a pause menu that can be activated in-game by pressing Esc. The only problem is mouse input won't work on this menu. The buttons aren't detecting input from left click. I tried putting the player's input handling into _unhandled_input() because they player also uses left click for shooting, but that didn't work either.

On the buttons, right? What about the rest of the nodes that make up the menu?

I set it to process on the PopupMenu node. All the buttons are children of PopupMenu.

Are there any nodes that cover the entire screen and/or the popup? If so, I would double check that their input filter is set to something like ignore so it does not capture mouse clicks. I'm not sure if that is causing the issue here, but it might be something to double check.

Nothing is covering the entire screen that I can see.

When you hover the mouse over the buttons, does the UI change a little in response? It should become a tad brighter when the mouse is over it. If it becomes brighter with the mouse over it but still does not allow clicks, then it is the click itself that is being lost. If it does not become brighter, then the mouse is not being seen correctly by the UI. I do not know how helpful knowing this will be, but it might help narrow down what is causing the issue.

The buttons don't react to me hovering over them. Also, the first button, which is resume, is always highlighted no matter where I move my mouse.

Hmm, strange. Does the main control, presumably used to place the health/lifebar in the top left corner of the screen, have a mouse filter set to ignore/pass? Maybe it is covering the whole thing and that is causing the UI to not work.

Another thing to try is making the pause menu, but not actually pausing the game. This can help narrow down if pausing the game itself is causing the issue. If it works when the game is not paused, then it is likely something with the process mode that is causing the issue, while if it does not, then it is likely something with the UI setup.

I think I'm going to scrap what I've made currently and try and follow a tutorial on it. I'll post here again if it's still not working.

a year later

If somebody has this problem, try this: Increase the size of the Popup node until the node cover all the screen or at least the buttons. If you have a structure like this, with a popup in exclusive mode: Popup menu ----canvas_layer --------Button yes --------Button no

Change it for this: canvas_layer ----Popup menu --------Button yes --------Button no The popup menu block the input for all the content that is not children of the popup in exclusive mode, but the Popup fails to find the button children inside a canvas_layer.

a year later