You know, aside from needing an collision in an additional node and using the input configs?
Button inherits from Control
node, which behaves like any other UI would - relative to the viewport and such. Area2D is Node2D
which makes it a lot more useful in the actual game world.
I would say their usage really depends on use case, your best bet is to probably use Area2D in the world that is in canvas layer, so you can get benefit of it being “scalable” like UI. Altough with that approach, you would need to find a way to manually update player cursor on hover, click and such - that is also something to consider.
Thanks. But a problem I have with Area2D with is that it seems that’s is not compatible with VideoStreamPlayer, only the Button node. Maybe because is a Control node. Is there a way to make the Area2D with a Subviewport?
Edit: Solved, I used SubViewportContainer, set the Mouse filter to ignore and set the SubViewport transparent