Method is_on_floor() returns always true

Quoting the documentation:

bool is_on_floor() const

Returns true if the body collided with the floor on the last call of move_and_slide. Otherwise, returns false. The up_direction and floor_max_angle are used to determine whether a surface is “floor” or not.

Try calling move_and_slide() then, it should update the is_on_floor().

1 Like