Pulse Works Studio

In Object of type 'Area2D': Attempt to connect nonexistent signal 'body_enter' to callable 'Area2D(player.gd)::_on_body_enter'.

The signal name is wrong. Area2D emits body_entered, not body_enter.

Cause

Object.connect checks that the signal exists before it stores the callable. The callable text is the class, the script file name, and the method. A missing letter, a Godot 3 signal name, or a custom signal that was never declared all use this same message.

Fix

extends Area2D

func _ready() -> void:
	body_entered.connect(_on_body_entered)

func _on_body_entered(body: Node2D) -> void:
	print(body.name)

Related

Godot Dev Tools is a Pulse Works Studio project. All error explainers.