Raycast from NPC to player problem

Hi there,

Im working on a simple fps game in unity and I ran into a raycast problem with the enemy AI. I am trying to draw a raycast from the enemy’s position towards the players position. I use the following code for this:

var direction = player.transform.position - transform.position;

ray.direction = direction;
ray.origin = transform.position;
		
if(Physics.Raycast(ray, hit, 18))
		{
			Debug.DrawLine(ray.origin, hit.transform.position, Color.red, 18);
			if(hit.collider.tag == "Player")
			{
				playerHp.playerHealth -= 10 * Time.deltaTime;
			}
		}

The red line im drawing using Debug.Drawline goes from the enemys position towards the (0,0,0) point of the scene. Why is this happening even tho I calculated the direction the ray should be going and passing it on using ray.direction.

After being stuck on this bug for hours I finally found the solution. The base offset of my nevmeshagent was interfering with the position from the NPC. I managed to fix this by rebaking my navmesh and resetting the base offset.