Overlap sphere radius problems

I have a little melee function in the code below. The problem is that for some reason the radius of the overlap sphere doesnt seem to work properly, a radius of 1 seems to encompass an area far far greater(more like 10). Secondly nothing actually happens if the object you are trying to melee is at point blank range.

With the dist < Range the issue of limiting your own melee range seems to be fixed but that hardly seems ideal, otherwise whats the point of the radius? And the issue of a point blank attack is still a problem.

Using Gizmos.DrawWireSphere the overlapsphere appears like it should be in the correct place, just I have no idea why it doesnt function as I thought it should

		var colliders = Physics.OverlapSphere (transform.position, 1f);
		foreach (var hit in colliders) 
		{
			Vector3 dir = (hit.transform.position - transform.position).normalized;
			var direction = Vector3.Dot (dir, transform.forward);
			if (direction < MeleeDirection)
			{
				continue;
			}
			float dist = Vector3.Distance(hit.transform.position, transform.position);


			if (hit.rigidbody && dist < Range) 
			{
				HealthManager targetHealth = hit.transform.GetComponent<HealthManager>();
				if (targetHealth)
				{
					targetHealth.TakeDamage (damage, tr.forward);
					hit.rigidbody.AddForce (300, 300, 300);
					TNManager.Create(gibsPrefab, hit.transform.position, hit.transform.rotation);
				}
			}
		}

Do your enemy units have a large sphere or other collider, like maybe an awareness collider or something like that, which might be within the OverlapSphere? OverlapSphere is used frequently so I have to assume any issues you are experiencing are unique to your setup.

Also, what’s this for?

 if (direction < MeleeDirection)
{
continue;
}

In your ‘point blank’ issue, using debug, what is the value of direction and MeleeDirection?