Area2D mouse entered does not fire when Control node present in the same scene

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By bluszcz

I am not sure if this is a bug or an expected behaviour, but when Area2D is instanced in same scene as Control node, it does not fire mouse_entered signal.

In my scene, when I turn off UI node - children of Workplaces do fire signal. After bring back UI (which is Control) - signal is not being launch.

enter image description here

Any hint on it?

:bust_in_silhouette: Reply From: eons

Your Control is consuming the input event when it happens, you must change the mouse filter to pass or ignore if you want it to reach the CollisionObject nodes.

See InputEvent — Godot Engine (3.1) documentation in English for details of how the input events work.

:bust_in_silhouette: Reply From: limiteegod

I struggle for the same problem as well And I think what you write is right! The problem is that The Event System…
The event is consumed by UI elements and not be sent to Physic world. That is the dot engine design And I think that is wrong in 2d games.
The best practise is to test any event in UI and physic world all and select the nearest (ui element OR physic object) to trigger the event. OR the UI element can consume the EVENT and then resend to the physic world. Both is OK(This way, the problem is some event will not fit like body_enter event, the parent UI shape is not the same as child Area2d, But the init event like mouse move is ok).
Thanks, I think the dotengine should fix this.
3d Game is the same, need a function that can resend the init event to physic world.
The mouse filter or some other filter is wrong solution(many undefined behaviour will happen unexpectedly)