How to constantly check if something is overlapping with an Area2D node

This works if you know only one hurt box will ever be overlapping the area at any given time. If there is a possibility that two or more will be overlapping, this breaks down because if one of them gets out of the area, it will change the bool to false even though there’s still another one.
On area exited you can check the count of get_overlapping_areas and if it’s zero you change the bool to false, else you keep it true.

That is true. However a bool still isn’t the answer IMO. In that case, you want to turn hurt_box into an Array and append/erase bodies form the Array and cycle through them in process(). Otherwise you’ll only have a reference to the last enemy hit.

That’s true.

I have no clue any of that meant besides array

Don’t worry about it. If you have issues, come back and make a new post. That discussion was future-proofing, which is borrowing trouble from the future.