Raycast rotating with object rotating

Hello everybody, i have a moving and rotating object that shoots out raycasts to see if there is any obstacle in a specific direction. The problem is that with my current code, the raycasts don’t rotate. Does anybody know how to fix this?

Code:

var rightray = new Ray  (transform.position, Vector3.right); // shoots ray right even though it says left
var hitright : RaycastHit; // hit information

if(Physics.Raycast (rightray, hitright, obstacleavoidancerangeside)){if (hitright.transform.tag == "metal"){obstaclerightofyou = true;{AvoidObstacleRight();}} // If raycast hits something within o avoid obstacle
else obstaclerightofyou = false; } 
var forwray = new Ray (transform.position, Vector3.forward); //Shoots ray in front of object
            var hitforw : RaycastHit; // hit information
           if (Physics.Raycast (forwray, hitforw, obstacleavoidancerange)){ if (hitforw.transform.tag == "metal"){obstacleinfrontofyou = true;{AvoidObstacleForward();}} // If raycast hits something within o avoid obstacle
           else obstacleinfrontofyou = false;
           }
           
var leftray = new Ray (transform.position, Vector3.left); //shoots ray left even though it says right
            var hitleft : RaycastHit; // hit information
           if (Physics.Raycast (leftray, hitleft, obstacleavoidancerangeside)){ if (hitleft.transform.tag == "metal"){obstacleleftofyou = true;{AvoidObstacleLeft();}} // If raycast hits something within o avoid obstacle
           else obstacleleftofyou = false;
           }
           }
           
function AvoidObstacleRight (){
Debug.Log("obstacleright");
}

function AvoidObstacleLeft(){
Debug.Log("obstacle left");
}

function AvoidObstacleForward (){
Debug.Log("obstacle in front");
}

You are using Vector3.right, Vector3.forward, and Vector3.left. Used in this context, these are world directions. Replace the three with transform.right, transform.forward and -transform.right. There is no ‘transform.left’, but you get it by negating the ‘transform.right’ vector.

There is also a ‘transform.up’. These vectors are the local forward/right/up of the object transformed into world space. Another way to get the same value is:

transform.TransformDirection(Vector3.forward)

This takes the local forward and transforms it into world space.