dlpantsta It's a little hard to tell what you mean, but I think it works in both 2D and 3D, you could consider using something like this assuming that both the enemy and the player are both in the same scene-tree:
First, use an Area2D or Area3D, make sure that you have a script and go to the 'Node' tab in the inspector. Find body_entered and connect that signal to the script. This is to detect what kind of body it is, mostly PhysicsBody2D or PhysicsBody3D.
In the script, drag the player node into the script, and before you let go, hit Control. This makes a string that can be used to reference the player node later. In the signal function from the Area2D or Area3D, make an if query. You code should look like this:
func on_body_entered_signal(parameters, this is an example, not exact):
if (body==your_player_node_string_name):
die_sequnce()
So, I don't know if you want the enemy to die, if that is the case, then you have to drag the enemy in like we did the player. Alternatively, if you connected the signal to the enemy script (which is ideal if you want the enemy to die) then you can make a die function, and just call it like die(). If you are making the player die, you can connect the signal to the player script, but to keep things clean, you should use the enemy's script. Then, since the player is already connected, if it has a script, just say your_player_node_name.die(). This should replace the die_sequence() in your query.
I am pretty sure this should work, I was just using it in my game until my files got corrupted or something, tell me if it doesn't so I am give myself a bonk on the head and get better at Godot.