Can anyone please tell me why this script doesnt work? - Raycasting

Hi,

I have 3 rays set up to look in the left-diagonal, forward and right-diagonal directions. The forward and right-diagonal are working (detecting objects) but the left-diagonal is not.

I was wondering if anyone can shed any light on what the issue could be? The script is shown below:

Thanks

{
    private Vector3 fwd = Vector3.zero;

    private Vector3 diagonal_left = Vector3.zero;

    private Vector3 diagonal_right = Vector3.zero;

 void Start () 
    {
        fwd = transform.TransformDirection(Vector3.forward);

        diagonal_left = new Vector3(-1f, 0f, 1f).normalized;

        diagonal_right = new Vector3(1f, 0f, 1f).normalized;
 }
 
 void Update () 
    {
        RaycastHit hit;

        Debug.DrawRay(transform.position, fwd * 500, Color.green);

     if(Physics.Raycast(transform.position, fwd, out hit, 100) )
        {
            Debug.Log ("Front Hit!");
            Debug.DrawRay(transform.position, fwd * 500, Color.red);
        }

        Debug.DrawRay(transform.position, diagonal_left * 100, Color.green);

        if(Physics.Raycast(transform.position, diagonal_left, out hit, 100) )
        {
             Debug.Log ("Left Diagonal Hit!");
             Debug.DrawRay(transform.position, diagonal_left * 100, Color.red);
        }

         Debug.DrawRay(transform.position, diagonal_right * 100, Color.green);

        if(Physics.Raycast(transform.position, diagonal_right, out hit, 100) )
        {
             Debug.Log ("Right Diagonal Hit!");
             Debug.DrawRay(transform.position, diagonal_right * 100, Color.red);
        }
 }
}

try casting a ray forward, forward left, and forward right, and then compare the results in to make the camera turn when something is in front of it based on the raycast results.