RaycastAll from prefab is not picking up a collider from another prefab

Hi Everyone, I’ve got a fighting game I’m working on, and I’m stuck at the moment with RayCastAll and I’m not sure what’s causing the problem.
I have a prefab called “punk” in which you can select another gameObject as an opponent. At the second last frame of an animation named “punch” (which you can see below) I run a function named “PunchHit” to signify the exact moment the punch potentially lands on an opponent. it goes as follows:

void PunchHit(){
		
		
		var xPos = transform.position.x;
		var yPos = transform.position.y;
		
		// This line renders fine, no matter the gameObjects' facing direction, so it is definitely striking in the right direction
		Debug.DrawLine(Pos1,Pos2, Color.white, 1, false);
		RaycastHit2D[] hits = Physics2D.RaycastAll(Pos1, Pos2);
		
		foreach(RaycastHit2D hit in hits){
			if (hit.collider != null){
				if (hit.collider.gameObject == opponent) {
					if( hit.collider.gameObject.tag == "Fighter"){
					
						var enemy = hit.collider.gameObject;
						Debug.Log("I am " + gameObject.name + " and I hit "+hit.collider.gameObject.name);
						enemy.GetComponent<Animator>().Play("smacked", -1,  0f);
						enemy.GetComponent<Rigidbody2D>().AddForce(new Vector2(1500 * direction, 2500));
						
						AudioSource audio = gameObject.GetComponent<AudioSource>();
						audio.Play();
					}
				}
			}	
			else{
			}
		}	
	}

For some strange reason, only one of the punks is strike-able. If the second punk were to increase his distance to the first, he can even strike the first without hitting him, which leads me to think that the punk registers the raycast striking from itself as striking the other punk. for all intents and purposes, however, the second punk might as well not exist to the first, none of it’s rays register it at all.
In my physics2d settings I’ve created 2 layers called player 1 and player 2 and even casting with that mask it does nothing. am I missing something obvious or is the engine just glitching out?

Here you can see the problem in action

Solved it! I didn’t realize that there was a function named Debug.DrawRay. in essence, I didn’t realize that rays and line get their coordinates differently. The line I drew for testing purposes had a specific point in local space as it’s second parameter, where as with drawray it is a direction. knowing this, I was able to fix the trajectory of the punch, as before the punch from one punk was going in a completely wild direction.