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

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