


Behind the scenes Photon Unity Networking uses more than one server: Several "Game Servers" run the actual rooms (matches) while a "Master Server" keeps track of rooms and match players. You have two options for the server side. The Exit Games Cloud is a service which provides hosted and load balanced Photon Servers for you, fully managed by Exit Games. #Unity networkview how freeįree trials are available and subscription costs for commercial use are competitively low. The service runs a fixed logic, so you can’t implement your own server-side game logic. Instead, the clients need to be authoritative.Ĭlients are separated by “application id”, which relates to your game title and a “game version”. Invoice/Purchase ID from the Asset StoreĪs alternative to the Photon Cloud service, you can run your own server and develop server side logic on top of our “Load Balancing” C# solution.Create an App and get your AppID from the Dashboard.Register a Photon Cloud Account: /en/Account/SignUp.Subscriptions bought in Asset Storeįollow these steps, if you bought a package with Photon Cloud Subscription in the Asset Store: With that, your players won’t clash with those of another developer or older game iterations.
NETWORKVIEW UNITY API FULL
This gives you full control of the server logic. The Photon Server SDK can be downloaded on: Starting the Server: /en/onpremise/current/getting-started/photon-server-in-5min Photon Unity Networking - First steps #Unity networkview how full When you import PUN, the "Wizard" window will popup. Either enter your email address to register for the cloud, skip this step to enter the AppId of an existing account or switch to "self hosted" Photon to enter your server's address. This creates a configuration for either the cloud service or your own Photon server in the project: PhotonServerSettings. PUN consists of quite a few files, however there’s only one that truly matters: PhotonNetwork. This class contains all functions and variables needed. If you ever have custom requirements, you can always modify the source files - this plugin is just an implementation of Photon after all. To use PUN from UnityScript, move both folders "PhotonNetwork" and "UtilityScripts" to the Assets\ folder. To show you how this API works, here are a few examples right away. PUN always uses a master server and one or more game servers. The master server manages currently running games on the various game servers and will provide a game server address when you join or create a room. PUN (the client) automatically switches to that game server. They are independent of each other and identified by name. Rooms are grouped into one or multiple lobbies. Lobbies are an optional part in matchmaking. If you don't use custom lobbies explicitly, PUN will use a single lobby for all rooms.īy default, PUN will join the default lobby after connecting. This lobby sends a list of existing rooms to the client, so the player can pick a room (by name or some properties listed). Access the current list by using PhotonNetwork.GetRoomList(). The lists is updated in intervals to keep traffic low.Ĭlients don't have to join a lobby to join or create rooms. If you don't want to show a list of rooms in your client, set toJoinLobby = false before you connect and your clients will skip the lobby.

You can use more than one lobby to organize room-lists as needed for your game. PhotonNetwork.JoinLobby is the method to join a specific lobby. You can make them up on the client side - the server will keep track of them. As long as name and type are the same, the TypedLobby will be the same for all clients, too.Ī client is always just in one lobby and while being in a lobby, creating a room will relate to this lobby, too. Multiple lobbies mean the clients get shorter rooms lists, which is good. There is no limit to the rooms lists.Ī parameter in JoinRoom, JoinRandomRoom and CreateRoom enables you to select a lobby without joining it. Players won't notice each other in the Lobby and can't send data (to prevent issues when it's getting crowded). The servers are all run on dedicated machines - there is no such thing as player-hosted ‘servers’. You don’t have to bother remembering about the server organization though, as the API all hides this for you.
