My Players Get Destroyed

for some reason my player starts as 4 and if I destroy the enemy it destroys the other players for some reason it’s not a problem with my destroy script it works after I switch once.

{
    private bool _DidToggle = false;

    public GameObject Player, Player2, Player3, Player4;

    int whichPlayerIsOn = 1;

    public void Update()
    {
        if (Input.touchCount == 1)
           
        {
            _DidToggle = false;
            Touch touch = Input.GetTouch(0);
            Vector3 touchPosition = Camera.main.ScreenToWorldPoint(touch.position);
            touchPosition.z = 0f;
            transform.position = touchPosition;
            transform.position = new Vector2(Mathf.Clamp(transform.position.x, -8.7f, 8.6f), Mathf.Clamp(transform.position.y, -5.4f, 4.3f));
        }
        else if (Input.touchCount > 1)
        {
            if (!_DidToggle)
            {
                _DidToggle = true; whichPlayerIsOn = (whichPlayerIsOn % 4) + 1;
                Player.gameObject.SetActive(whichPlayerIsOn == 1);
                Player2.gameObject.SetActive(whichPlayerIsOn == 2);
                Player3.gameObject.SetActive(whichPlayerIsOn == 3);
                Player4.gameObject.SetActive(whichPlayerIsOn == 4);
            }
        }
    }
}

Do you mean “destroy” or “deactivated”? There is no destroying happening in the script you have pasted.

everything gets fixed fixed after I use my switch script once
really don’t get the problem
I have a destroy script but that isn’t the problem it’s something in this script thats wrong

By ‘switch script’, are you referring to the script in your original post above? If so, then by “using it”, do you mean a single touch (Input.touchCount == 1) or a double touch (Input.touchCount > 1)?

How can we be sure that other script is not the problem? It may be worth including it so others can check.