Hi,
func _input_event(camera, event, pos, normal, shape) is a method of class CollisionObject
Class: CollisionObject
Inherited by: Area , PhysicsBody
the node has this script, must be a PhysicBody (KinematicBody , PhysicalBone , RigidBody , StaticBody) or an Area
and has a camera
then this function run normally
you can read more at InputEvent
at step 4:
If no one wanted the event so far, and a Camera is assigned to the Viewport, a ray to the physics world (in the ray direction from the click) will be cast. If this ray hits an object, it will call the CollisionObject._input_event() function in the relevant physics object (bodies receive this callback by default, but areas do not. This can be configured through Area properties).