Objects Touching?

I’m currently struggling with checking if two objects are touching but didn’t collide this is because
for a certain sword swing I am moving the position of the sword forward rapidly meaning it doesn’t actual collide with the enemy but has it’s position in the enemy so that they are touching. when i move the character the enemy dies but not when both are stationary and the player attacks?

How can I check that two objects are touching but didn’t collide?

The code I’m currently using, it works when the enemy or the player is moving and the sword is swung but if both the enemy and player are standing still the script doesn’t destroy the object

here is the code

function OnCollisionStay (collision : Collision) {
	if (collision.gameObject.tag == "RedEnemy"){
		
    Destroy(collision.gameObject);
	}
}

EDIT
I noticed that a lot of people view this question with presumably the same problem?
If that is the case I would like to inform the community that I ended up using a system where
I got the distance between the players and enemies to figure out weather they were touching or not
as this system is much more reliable than Unity Collision system (which has its place to work). I have
since stopped working not his project so can provide no other feedback to it.

if (collision.gameObject.tag == “RedEnemy”){

    Destroy(collision.gameObject);
}

should be. . . .

if (collision.collider.tag == "RedEnemy"){

    Destroy(collision.gameObject);
}