Is there a better method when creating a sword attack check?

Hi I’m creating a 2D platformer and intend for the player to have a sword attack animation.

I’ve been trying to use OnTriggerEnter when instantiating the sword in front of the player to check on another static “enemy” primitive.

//swordAnim.js
//applied to sword with animation prefab

function Start () {
 animation.Play();
}

function Update () {
Destroy(gameObject, 0.75);
}

function OnTriggerEnter(other : Collider)
{
	if (other.tag == "enemy")
	{
		print("Enemy takes damage!");
	}
}

//playerControl.js
//Here is the portion that instantiates the sword

var swordInstant 		: Transform;

function Update () 
{
	if (Input.GetButtonUp("Fire1"))
	{
		var swordClone : Transform;
		swordClone = Instantiate(swordInstant, transform.position, transform.rotation);
	}

So this script works when I simply drop a copy of the sword prefab and position it so that the swing hits the “enemy” but it doesn’t work when instantiating the sword in front of the player. What am I missing? I read that I might have to use raycasthit? Is there a tutorial someone could recommend for what i’m trying to do?

Thanks in advance for any help.

You could try setting up a capsule trigger collider that represents where the weapon will be at the point of applying damage. Then at the appropriate time during the animation you could check to see what is being hit by using Physics.CapsuleCast. I’ve done it that way in the past and it seemed to work out well for me.