What's the best way to detect an enemy humanoid?

Hello developers.

I’m creating a 2D, Tower-Defense game and I’m going to start working on the first five starter units the player can summon. Anyway, I’m wondering what’s a good way of detecting if a friendly humanoid detects an enemy humanoid.

Things to note

  1. I’m going to use tags as a way to sort humanoids as enemies or friendly’s.
  2. I’ve tried using magnitude as detecting enemy humanoids, the issue is that whenever I use magnitude for the friendly units, it cannot seem to detect custom rigged enemies. So I’m considered to use Region3 or :GetPartsInPart() but which one should I use or what should I use rather instead?