Use the multiplayer API from Photon Realtime to join many players together in a shared game session and transfer data and messages synchronously, in real-time, between connected players across platforms. All client SDKs can interact with each other, no matter if iOS, Android, Web or standalone.
With an AppId at hand you are ready to
Connect the application ID and region you would like to connect to.
Click here for a list of available regions.
Create a Game
To create a new room, aka game, invoke
OpCreateRoom on your connected
OpCreateRoom the room name and amount of players to start with.
The newly created room is entered immediately and exists until the last player has left.
Custom values are attached to a room as custom properties, optionally passed when connecting. Common examples for room properties include the map name, level or the round duration.
Select any of your custom properties to be shown in the lobby handing in an optional array with their names. Properties showing in the lobby can be used for matchmaking and as filter for random matches.
Find a Game
Clients join games by name or ask Photon to find a perfect match.
Find rooms ...
- by Random: Matches players randomly. Optionally fills rooms or distributes players evenly.
- Filters can be used for better matching.
- by Listing: The lobby lists visible rooms to let players pick and join manually.
- that are Private: Join hidden rooms that you know the name of.
- or Parameterized: Customize random matching by defining expected properties.
Whatever happens on one client can be sent as event to update everyone in the same room. Update your players with stats, positions or your current turn. Photon will send it as fast as possible via, optionally reliable, UDP, TCP or Websockets.
- Send messages/events: Send any type of data to other players.
- Player/Room properties: Photon updates and syncs these, even to players who join in later.
Whenever an event is dispatched the
OnEvent handler is called.
Each event carries its specific content in its
Your application knows which content to expect by the
Code passed with the
For an up-to-date list of default event codes look for the
EventCode constants in your SDK, e.g. within
ExitGames.Client.Photon.LoadBalancing.EventCode for C#.
Custom or Authorative Server Logic
As is, without authorative logic, Photon Cloud products already allow for a broad range of game types.
- First Person Shooters
- Racing Games
- Minecraft type of games
- Casual real-time games
- Asynchronous and synchronous games
Use Photon Server to implement your own custom logic.
If you've got questions, curiosities, ... or your app doesn't work but you really wish it would, try any of these:
- You got an issue: post your question in forum.exitgames.com.
- You'd rather discuss it in private or require support: email us at firstname.lastname@example.org.
Get in Touch
We'd love to know what you want to read and see in our docs, whether that is more demos, specific documentation, an FAQ or example applications. If there's something you'd like to see that's not already in drop us your suggestion to email@example.com.