Respawn System with Strings?

Options
Levii
Levii
I have a Script (GameManager) when after starting the game, the GameManager selects a random Prefab player from a string

GameManager----
    [SerializeField] private Transform[] _spawns;
    public string[] CarsPlayerList;

Public void CreatePlayer(){

        PhotonNetwork.Instantiate(CarsPlayerList[UnityEngine.Random.Range(0, CarsPlayerList.Length)], _spawns[Random.Range(0, _spawns.Length)].position, Quaternion.identity);

}

My second Script (CarController) has a void called Kill, the goal is that when I press the BackSpace button, the player is destroyed (by photonNetwork.destroy) and CarController calls GameManager CreatePlayer, but when it calls void to instantiate, the message appears that a new prefab cannot be instantiated because it is null

CarController
 void Kill()
    {
        if (photonView.IsMine)
        {
            if (Input.GetKeyDown(KeyCode.Backspace))
            {
                PhotonNetwork.Destroy(gameObject);
                gm.GetComponent<GameManager>().CreatePlayer();
            }
        }
    }


Unity Mensage

ArgumentException: The Object you want to instantiate is null.
UnityEngine.Object.Instantiate[T] (T original) (at <cfc1ad890650411e946cff2e6f276711>:0)
GameManager.CreatePlayer() (at Assets/Script/GameManager.cs:83)
GameManager.AddPlayer() (at Assets/Script/GameManager.cs:58)

the AddPlayer() that unity mentions is this one
    [PunRPC]
    public void AddPlayer()
    {
        PlayerInGame++;
        if (PlayerInGame== PhotonNetwork.PlayerList.Length)
        {
            CreatePlayer();
        }
    }

I suppose it's a logic error I created because as it gets instantiated via a string it gives an error with player.length of photonNetwork... but how does it respawn via a string after it dies then?