Area of effect melee attack for 3rd person game?

Hello everyone, I was just wondering if it was possible to create some sort of ‘splash’ damage (ie: damage in a range around the weapon) and if so, what would be the appropriate way to tackle it. I’ve looked around online, but almost every tutorial for melee attacking is based off single target attacks.
So far the incomplete solutions I’ve come up with are:

  1. Creating multiple raycasts (somewhat inefficient)

  2. Creating collider meshes that will damage all enemies in its range (Not sure how I should go about with this, but might prove useful since I plan to create a very interactive hitting style like dragging out attack patterns by mouse.)

  3. Damaging everyone within range? (Do I need to do some sort of for loop to apply damage to every enemy in range?)

Let’s say I click the mouse to make the character swing a sword: I would want it to hit all enemies in the slice path, rather than locking on and only doing damage to the closest enemy.

I’m really new to Unity, so I’m just looking for any suggestions or examples.
Thanks!

Here’s a smart way to do it: when splash damage is on(assuming you have a flag for that) and using hit info, create a GameObject (assume it’s called GO_SplashDMG, and could be empty) from a prefab at the point of hit.

This GO_SplashDMG prefab has a script attached to it that creates a collider (trigger) in the Start() method of the prefab script.

You then use the message OnTriggerStay() in the prefab script to do something like:

void OnTriggerStay(Collider other) {
     if(obj.CompareTag("Enemy")){ // other.gameObject.tag == "Enemy"   allocates memory :) Thanks @Vexe :D
          DrainEnemyHP(hitPower);
          StunEnemy(stunPower);
     }
}

EDIT: OnTriggerStay may cause undesirable effects (in this example: continuous draining of HP and continuous stunning every physical frame as long as the generated prefab clone is not destroyed). So try using OnTriggerEnter if that didn’t work out for you.

Do not forget to destroy the prefab automatically and almost instantly when using OnTriggerStay (or whenever you want if you’re using OnTriggerEnter; i.e. the timer’s duration you set for destroying the prefab clone is the time splash damage lasts for).
Also have a rigidbody on each enemy.