Up front, this is godot 4.0
I'm making a turn based game where an area2d is attached to each actor. The area2D starts off with visible = false and a signal for an input_event attached to the main script. When the user presses a move button, the signal on the button scales the area2d based on their stats, and it's supposed to represent the area in which the player can click to move the character to.
At first, it didn't work at all. I had a few if checks in the signal for clicking on it and print() in the final one to show me it was working. I never saw anything, so I put a print outside of any if checks, and still got nothing. I turned on visible collision shapes to make sure it was scaling correctly, and it definitely is. Then I noticed something strange. It is triggering the input_event signal, but only in very specific regions of the area2d shape
The area that actually works of the collision shape is the image with the green circle and red lines outlining where the mouse is actually triggering the signal.
I tried changing how the area2D got scaled. Only scaling the root node, or only changing the radius value on the circle shape. It appears to behave the same.
If i don't set the area2d.visible = false, then it works as expected, up until the function runs that scales it.
Is this a bug? Am I missing something obvious? I'm really stumped with this.