InputEvent not firing

Godot Version

4

Question

I created an Item scene, which I inherit for Water (and other items)
In Item, I implemented Drag And Drop functionality using the following code:

func _ready():
	print("Item Ready")	
	if(self.get_node("Area2D")):
		var area : Area2D = self.get_node("Area2D")
		area.connect("input_event", _on_area_2d_input_event)

func _on_area_2d_input_event(_viewport, _event, _shape_idx):
	if Input.is_action_just_pressed("click"):
		print(self)
		selected = true
		print("selected")
		
func _input(event : InputEvent):	
	if event is InputEventMouseButton:
		if event.button_index == MOUSE_BUTTON_LEFT and not event.pressed and selected:
			selected = false
			print(self)
			print("dropping " + str(self))
			Events.emit_signal("itemDroppedAtLocation", self)

In one of my screens, the drag and drop works.
In the other, it doesn’t.
When I do some print-debugging, I see that the event is connected in the _ready of the placed Item, but clicking the item doesn’t react at all.

All of my “screens” are scenes based on a Node2D.
Items all have an Area2D child node.
If I add a Test “screen” the drag and drop does work.

I can add additional info, but am unsure on what is best given to fix this.

All help (urgently) appreciated

If it works sometimes, check what the difference between your scenes are. What you could do to help us help you is create a lil test project (unless you’re willing to share your entire project) where the same issue persists. And hey, maybe you’ll even figure out what the issue is while doing it. Then drop us a zip file of the project and I’ll be able to take a look. I’d take a guess that there’s some object that is “above” your area (having priority over the mouse), and is blocking mouse input. Any random Control could do that with it’s mouse pass mode set to block.

One quick thing I’d maybe check is if there is something in your other scene blocking the input.
Are there any Control nodes that cover the screen with Mouse Filter set to Stop for example? (Which I think is the default for a generic Control node)