Debug.DrawLine not correct to Raycast?

Hello, this is the first time I have looked at Raycasting and I seem to have hit an alignment issue.
I am making a puzzle board game and I have various blocks in the world, all with different names and I am trying to identify one based on a world position.
The code below is giving me the names but it’s like the world objects are in a tiny space that has been scaled down 10 times. So when I change x / y the detected names change very fast in a small area and this is before the visual debug line gets to the actual physical objects. I have double checked the box colliders and offsets / scales have not been changed. The instantiated clone objects I am trying to identify do have a scale (1.2 x 1.2 x 0.5) Could this be messing up the detection? Anyone have any other ideas why the visual debug line is so out from the actual Raycasting? Any help much appreciated.

using UnityEngine;
using System.Collections;

public class TestRaycast : MonoBehaviour {
	public float x;
	public float y;
	private Vector3 Position;
	private Vector3 Direction;
	public string Name;
	RaycastHit hit;

	void Start () {
	void Update () {
		Position = new Vector3(x,y,-5);
		Direction = new Vector3(x,y,1);
		Debug.DrawLine (Position, Direction,;
		if (Physics.Raycast(Position, Direction, out hit))
			if (hit.collider != null){
				Name = (;
			if (hit.collider == null){
				Name = "NULL";

	void OnGUI() {
		GUI.Label(new Rect(5, 100, 600, 30), "Named: " + Name);


Use Debug.DrawRay if you want to visualize a raycast. DrawLine doesn’t draw rays, it draws a line between two points.

DrawLine takes a start position, and an end position. So it has a set length.

You should try DrawRay instead. Which would probably represent a ray cast better.