i'm making a game in Unity and I have made a script that allows me to switch cameras within my scene. here's the code for it.
public class ChangeCamera : MonoBehaviour
{
    public Camera[] cameras;  // Array to hold your cameras
    private int currentCameraIndex;  // Index of the current active camera
    MainTurret mainTurret;
    private void Start()
    {
        // Set the first camera as the starting camera
        currentCameraIndex = 0;
        ActivateCamera(currentCameraIndex);
        
        mainTurret = FindObjectOfType<MainTurret>();
    }
    private void Update()
    {
        // Check for key input to switch cameras
        if (Input.GetKeyDown(KeyCode.T))
        {
            SwitchCamera();
        }
    }
    public void SwitchCamera()
    {
        // Deactivate the current camera
        cameras[currentCameraIndex].gameObject.SetActive(false);
        // Increment the camera index
        currentCameraIndex++;
        // Wrap around to the first camera if the index goes beyond the array size
        if (currentCameraIndex >= cameras.Length)
            currentCameraIndex = 0;
        // Activate the new camera
        ActivateCamera(currentCameraIndex);
    }
    private void ActivateCamera(int index)
    {
        // Activate the specified camera
        cameras[index].gameObject.SetActive(true);
        if (cameras[index].gameObject.tag == "turret")
        {
            mainTurret.GetComponent<MainTurret>().SetActive();
            
            cameras[index].enabled= true;
            Camera.main.enabled = false;
        }
        else if (!(cameras[index].gameObject.tag == "turret"))
        {
            mainTurret.GetComponent<MainTurret>().SetNotActive();
            cameras[index].enabled= false;
            Camera.main.enabled = true;
        }
    }
}
although when i run my project. it gives me a null reference exception here,
mainTurret.GetComponent<MainTurret>().SetNotActive();
and here,
            mainTurret.GetComponent<MainTurret>().SetActive();
any reason why is that, i have the mainTurret instantiated above and i tried several methods but nothing seems to work.
 
    