Spawning different cars

I need help. I don’t know what to do I don’t know how to work with networking in unity. but what I trying to do is that I’m using the unity network lobby that you get from the asset store and I trying to make a script so that when the game loads a level the players will be able to spawn in a different vehicle than that of the host but I have no Idea how to do it! Why must it be so hard in unity? please I need help I’m so frustrated that I could punch a wall right now.

using UnityEngine;
using System.Collections;
using UnityEngine.Networking;
using UnityEngine.UI;
using System.Text.RegularExpressions;
namespace Prototype.NetworkLobby
{
public class CarSelecter : MonoBehaviour {
	public Object[] CarList;
	public int SelectedCar;
	public Text SelectedCarName;
	CarSpawn CS;
	// Use this for initialization
	void Start(){
			CS = GetComponent<CarSpawn> ();
	}
	void Update(){
			NetworkIdentity NetworkID = GetComponent<NetworkIdentity> ();
			SelectedCar = (int)Mathf.Repeat (SelectedCar, CarList.Length);
			this.GetComponentInParent<LobbyManager> ().playerPrefab = (GameObject)CarList [SelectedCar];
			this.GetComponentInParent<LobbyManager> ().gamePlayerPrefab = (GameObject)CarList [SelectedCar];
			SelectedCarName.text = CarList [SelectedCar].name;

	}
	public void OnclickHighLightNextCar () {
		SelectedCar += 1;
	}
	public void OnclickHighLightPreviousCar () {
		SelectedCar += 1;
	}
}
}

Use this i haven’t ran it yet its just something off the top of my mind. For more things on Instantiation visit here.

 int randomCarValue = Random.Range(0,3); // this is selecting a Random car in your carList

public Transform pos; // your position to spawn your cars at


void Start(){

         Instantiate(carList[randomCarValue], pos.position, Quaternion.Identity );// this creates the random car to the position of pos

}