Hey I have been making this network script for my game and I recently update it to unity 5.2 but it now says the rpc's are deprecated. I search up and I saw you had to use the cloud to setup the network but you only have a maximum of 100 player, why? I am getting of topic but does this basicly means I have done all my work for nothing because I can't call the rpc's anymore. Thanks for helping Code (CSharp): using UnityEngine; using System.Collections; using System.Collections.Generic; public class NetworkManage : MonoBehaviour { public string PlayerName; public string MatchName; public static NetworkManage Instance; public List<Player> PlayerList = new List<Player>(); public Player MyPlayer; public GameObject SpawnPlayer; public bool MatchStarted; //public List<Transform> SpawnPoints = new List<Transform>(); //public GameObject[]SpawnPoints; //public bool MatchLoaded; // Use this for initialization void Start () { Instance = this; DontDestroyOnLoad (gameObject); } // Update is called once per frame void Update () { PlayerName = PlayerPrefs.GetString ("PlayerName"); } public void StartServer(string ServerName, int MaxPlayers){ Network.InitializeSecurity(); Network.InitializeServer(MaxPlayers, 25565, true); MasterServer.RegisterHost ("TEF",ServerName,""); Debug.Log ("Started Server"); } void OnPlayerConnected(NetworkPlayer id) { //networkView.RPC ("Server_PlayerJoined", RPCMode.Server, PlayerName, id); if (Network.peerType == NetworkPeerType.Server) { foreach (Player pl in PlayerList) { GetComponent<NetworkView>().RPC("Client_PlayerJoined", id, pl.PlayerName, pl.OnlinePlayer); } } } void OnServerInitialized() { Server_PlayerJoined(PlayerName, Network.player); } void OnConnectedToServer() { GetComponent<NetworkView>().RPC("Server_PlayerJoined", RPCMode.Server, PlayerName, Network.player); } void OnPlayerDisconnected(NetworkPlayer id) { Debug.Log("A player is leaving"); GetComponent<NetworkView>().RPC("RemovePlayer", RPCMode.All, id); Network.Destroy (GetPlayer (id).Manager.gameObject); Network.RemoveRPCs(id); Debug.Log ("A player left"); } void OnDisconnectedFromServer(NetworkDisconnection info) { Debug.Log ("You are leaving"); PlayerList.Clear(); Application.LoadLevel(0); Debug.Log ("You left"); } [RPC] public void Server_PlayerJoined(string Username,NetworkPlayer id) { GetComponent<NetworkView>().RPC ("Client_PlayerJoined", RPCMode.All,Username, id); } [RPC] public void Client_PlayerJoined(string Username, NetworkPlayer id) { Player temp = new Player(); temp.PlayerName = Username; temp.OnlinePlayer = id; PlayerList.Add(temp); if (Network.player == id) { MyPlayer = temp; GameObject LastPlayer = Network.Instantiate(SpawnPlayer, Vector3.zero, Quaternion.identity, 0) as GameObject; //temp.Manager = LastPlayer.GetComponent<UserPlayer>(); } } [RPC] public void RemovePlayer(NetworkPlayer id) { Player temp = new Player (); foreach (Player pl in PlayerList) { if(pl.OnlinePlayer == id) { temp = pl; } } if (temp != null) { PlayerList.Remove(temp); } } [RPC] public void LoadLevel() { Application.LoadLevel ("Level"); MatchStarted = true; } /*void OnLevelWasLoaded(int level) { if (MatchStarted == true) ; SpawnPoints = LevelManager.Ins.SpawnPoints; } */ public static Player GetPlayer (NetworkPlayer id){ foreach (Player pl in Instance.PlayerList) { if (pl.OnlinePlayer == id) return pl; } return null; } void OnGUI() { if (MatchStarted == true && !MyPlayer.IsAlive) { if(GUI.Button(new Rect(Screen.width - 50,0,50,20), "Spawn")) { MyPlayer.Manager.FirstpersonCont.Spawn(); int SpawnIndex = Random.Range(0, LevelManager.Ins.SpawnPoints.Length - 1); MyPlayer.Manager.FirstPerson.localPosition = LevelManager.Ins.SpawnPoints[SpawnIndex].transform.position; MyPlayer.Manager.FirstPerson.localRotation = LevelManager.Ins.SpawnPoints[SpawnIndex].transform.rotation; MyPlayer.Manager.GetComponent<NetworkView>().RPC("Spawn", RPCMode.All); } } } } [System.Serializable] public class Player{ public string PlayerName; public NetworkPlayer OnlinePlayer; public float Health = 100; public UserPlayer Manager; public bool IsAlive; }