Area2D on_body_entered not detected

Godot Version

Godot Engine v4.4.1

Question

Hi, I’m new to Godot, I’m trying to do a point-and-click adventure and I’m having a problem with an Area2D not detecting if a body has entered.

Here are the screens:
https://imgur.com/sx4FkBi
https://imgur.com/95J26XJ
https://imgur.com/9OPwtCk

I’ve also checked if there was a collision channel mismatch but it’s not the case, the print “entered” is never done when the player enters the Area2D.

Thank you in advance.

Maybe becuse you are calling move_and_slide in _process instead of _physics_process

Make sure to paste code instead of screenshots

I tried replacing _process function with _physics_process but it still didn’t work.
In the end it was really a collision channel mismatch, the player was set on channel 2 instead of 1, even though I was sure I had already checked.

Areas don’t detect characters. you need an Area2D inside the CharacterBody2D, set to a different layer, then to set the Area to detect that layer, and then use area_entered instead of body_entered.

body_entered works mostly for rigidbodies and I think staticbodies, but it doesn’t work with CharacterBodies

body_entered does work for CharacterBodies, Areas can detect characters. They found their own solution as the collision layers/mask did not line up.