Instantiate position problem with Raycast

I have solved the problem, the texture I had was not aligned with the gameObject it was parented to.

var bulletmark : GameObject;
var floatInFrontOfWall : float = 0.02;


function Update () {
var hit : RaycastHit;

if (Physics.Raycast(transform.position, transform.forward, hit))
{
if (bulletmark !=null && hit.transform.tag == "Level Parts")
{
          // texture     end of ray              move pos forward from wall
Instantiate(bulletmark, hit.point + (hit.normal * floatInFrontOfWall), Quaternion.LookRotation(hit.normal));
}
}
}

I’m running this line of script on a prefab GameObject (the red line). Supposedly wherever the line hits an object the (bulletmark)texture should appear.

Though when I shoot the redline the texture is spawned down below and to the right of the hit.point(as shown in the picture below).
Any help is welcome

1889457--121578--untitled.PNG
Link to the tutorial I’m using
FPS1.13 Raycasts and Bullet Holes. Unity3D FPS Game Design Tutorial.

*EDIT
I just saw your edit at the top, post removed as it will cause confusing and is of no help.