Default CharacterBody2D not colliding with Area2D

Godot Version

4.3

Question

I just started setting up a super basic scene with a default CharacterBody2D. I put an Area2D below it to act as a floor but they just don’t collide. It drops through it no matter what I do. Checked layers, checked masks, checked monitorable, monitoring, script looks fine. Scene looks perfectly sane… I’m at a loss. Am I missing something super basic here?

Areas are normally used as triggers :
<<An Area2D defines a region of 2D space. In this space you can detect other CollisionObject2D nodes overlapping, entering, and exiting. Areas also allow for overriding local physics properties. We’ll explore each of these functions below.>>

So if you want the object to collide just simply set an empty 2D Node and a collision shape as a child, without the area.

Use the area if you want, for example, detect if the player entered a zone of the map or to collect coins by contact with them.

Oh my god. I knew it would be something incredibly basic. Thank you so much!!

1 Like

I’m guessing their answer was from ChatGPT, you need to change the Area2D’s type to a StaticBody2D for the collision shape to function as a blocking body. Node2D does not stop collisions either.

2 Likes

haha thanks, that did the trick. Much appreciated!

It was a copy-pasted from the docs xd