Area2D mouse_entered emitted weird

I just checked and seen similar bug reports.
Exact same:

Similar:

The computer with the issue:

The computer without the issue:

Yes, I tried it exactly as on the notes. It didn’t work.

What if this is an issue with AMD processors? I use an Intel too and it worked fine. @pauldrewett do you use Intel too?

Yep. And it is working fine here too.

You suggest using the function gui_pick() – where are you seeing this as a valid function? I can find two references to gui_pick() on the internet, both from this forum, but as far as I can tell it has never been a valid function in any version of Godot.

Now that you mention it, I can’t seem to find it either in the current Godot version. I first saw it in this post:

I don’t know if it was removed or replaced, but I remember it being a Viewport method to determine specifically if a Control node is at a given position.

It became a half-hour obsession of mine. An LLM suggested it as a valid function for implementing long press on mobile. Of course I found out it didn’t work. The correct function is get_viewport().gui_get_hovered_control() (which does work on mobile to detect the control under a touch if anyone else was curious). But I spent a long time trying to figure out where it got that from, looking at the docs back to 2.1, googling, searching GitHub, and commanding another LLM to scour the web and explain its wayward sibling.

My theory as to what happened is the LLMs got confused by their training data because Defold, another game engine, has a function called gui.pick_node() that very similarly “determines if the node is pickable by the supplied coordinates.” Then we poor fools picked up the baton and carried it forward. With any luck, this conversation will be picked up in the next update to training data and the loop will close. That, or Godot will need to add gui_pick() function to match the AI view of reality.

Sooooo, I just browsed through Godot documentation versions 4.0 to 4.3 - the versions the LLM says gui_pick() was present - and found no mention of gui_pick(). I also searched the source on Github, and unfortunately could not find any definition of gui_pick(). I guess that previous post I saw was referencing a method suggested by an LLM.

To clear things up: get_viewport().gui_pick() is a nonexistent function in Godot, at least not on any documentation I have browsed so far.

Hey guys, I’m struggling with similar issues. On my side I use mouse_enter and mouse_exit to set a specific cursor icon.

I have area2d clickable spot, whenever I click it I instantiate and add on a separate canvas layer a control with my ui and here first issue occurs - mouse_exit is not executed.

But the weird behavior is about to come next. In my control I have clickable element that shows another full screen overlay with control point.

This overlay is dismissible by click-anywhere. If a click in a spot were my are2d is (below any every other control with stop filtering) the mouse_enter is detected and it never calls mouse exit, even if I move mouse around.

have you found any workaround for your problem? I’m still struggling with my and I’m pretty sure it has similar root cause.