Photon Unity Networking 2  v2.1
English | 日本語 | 한국
Classes | Typedefs | Enumerations
Package Photon.Realtime

Classes

class  ActorProperties
 Class for constants. These (byte) values define "well known" properties for an Actor / Player. More...
 
class  AppSettings
 Settings for Photon application(s) and the server to connect to. More...
 
class  AuthenticationValues
 Container for user authentication in Photon. Set AuthValues before you connect - all else is handled. More...
 
class  ConnectionCallbacksContainer
 Container type for callbacks defined by IConnectionCallbacks. See LoadBalancingCallbackTargets. More...
 
class  ConnectionHandler
 
class  EncryptionDataParameters
 
class  EnterRoomParams
 
class  ErrorCode
 ErrorCode defines the default codes associated with Photon client/server communication. More...
 
class  EventCode
 Class for constants. These values are for events defined by Photon Loadbalancing. More...
 
class  Extensions
 This static class defines some useful extension methods for several existing classes (e.g. Vector3, float and others). More...
 
class  FriendInfo
 Used to store info about a friend's online state and in which room he/she is. More...
 
class  GamePropertyKey
 Class for constants. These (byte) values are for "well known" room/game properties used in Photon Loadbalancing. More...
 
interface  IConnectionCallbacks
 Collection of "organizational" callbacks for the Realtime Api to cover: Connection and Regions. More...
 
interface  IInRoomCallbacks
 Collection of "in room" callbacks for the Realtime Api to cover: Players entering or leaving, property updates and Master Client switching. More...
 
interface  ILobbyCallbacks
 Collection of "organizational" callbacks for the Realtime Api to cover the Lobby. More...
 
interface  IMatchmakingCallbacks
 Collection of "organizational" callbacks for the Realtime Api to cover Matchmaking. More...
 
class  InRoomCallbacksContainer
 Container type for callbacks defined by IInRoomCallbacks. See InRoomCallbackTargets.
 
interface  IOnEventCallback
 Event callback for the Realtime Api. Covers events from the server and those sent by clients via OpRaiseEvent. More...
 
interface  IWebRpcCallback
 Interface for "WebRpc" callbacks for the Realtime Api. Currently includes only responses for Web RPCs. More...
 
class  LoadBalancingClient
 This class implements the Photon LoadBalancing workflow by using a LoadBalancingPeer. It keeps a state and will automatically execute transitions between the Master and Game Servers. More...
 
class  LoadBalancingPeer
 A LoadbalancingPeer provides the operations and enum definitions needed to use the loadbalancing server application which is also used in Photon Cloud. More...
 
class  LobbyCallbacksContainer
 Container type for callbacks defined by ILobbyCallbacks. See LobbyCallbackTargets.
 
class  MatchMakingCallbacksContainer
 Container type for callbacks defined by IMatchmakingCallbacks. See MatchMakingCallbackTargets. More...
 
class  OperationCode
 Class for constants. Contains operation codes. Pun uses these constants internally. More...
 
class  OpJoinRandomRoomParams
 
class  ParameterCode
 Class for constants. Codes for parameters of Operations and Events. More...
 
class  PhotonPing
 
class  PingMono
 Uses C# Socket class from System.Net.Sockets (as Unity usually does). More...
 
class  Player
 Summarizes a "player" within a room, identified (in that room) by ID (or "actorNumber"). More...
 
class  RaiseEventOptions
 Aggregates several less-often used options for operation RaiseEvent. See field descriptions for usage details. More...
 
class  Region
 
class  RegionHandler
 Provides methods to work with Photon's regions (Photon Cloud) and can be use to find the one with best ping. More...
 
class  RegionPinger
 
class  Room
 This class represents a room a client joins/joined. More...
 
class  RoomInfo
 A simplified room with just the info required to list and join, used for the room listing in the lobby. The properties are not settable (IsOpen, MaxPlayers, etc). More...
 
class  RoomOptions
 Wraps up common room properties needed when you create rooms. Read the individual entries for more details. More...
 
class  SupportLogger
 Helper class to debug log basic information about Photon client and vital traffic statistics. More...
 
class  TypedLobby
 Refers to a specific lobby (and type) on the server. More...
 
class  TypedLobbyInfo
 
class  WebFlags
 Optional flags to be used in Photon client SDKs with Op RaiseEvent and Op SetProperties. Introduced mainly for webhooks 1.2 to control behavior of forwarded HTTP requests. More...
 
class  WebRpcCallbacksContainer
 Container type for callbacks defined by IWebRpcCallback. See WebRpcCallbackTargets.
 
class  WebRpcResponse
 Reads an operation response of a WebRpc and provides convenient access to most common values. More...
 

Typedefs

using SupportClass = ExitGames.Client.Photon.SupportClass
 

Enumerations

enum  ClientState
 State values for a client, which handles switching Photon server types, some operations, etc. More...
 
enum  DisconnectCause
 Enumaration of causes for Disconnects (used in LoadBalancingClient.DisconnectedCause). More...
 
enum  ServerConnection
 Available server (types) for internally used field: server. More...
 
enum  EncryptionMode
 Defines how the communication gets encrypted. More...
 
enum  JoinMode : byte
 Defines possible values for OpJoinRoom and OpJoinOrCreate. It tells the server if the room can be only be joined normally, created implicitly or found on a web-service for Turnbased games. More...
 
enum  MatchmakingMode : byte
 Options for matchmaking rules for OpJoinRandom. More...
 
enum  ReceiverGroup : byte
 Lite - OpRaiseEvent lets you chose which actors in the room should receive events. By default, events are sent to "Others" but you can overrule this. More...
 
enum  EventCaching : byte
 Lite - OpRaiseEvent allows you to cache events and automatically send them to joining players in a room. Events are cached per event code and player: Event 100 (example!) can be stored once per player. Cached events can be modified, replaced and removed. More...
 
enum  PropertyTypeFlag : byte
 Flags for "types of properties", being used as filter in OpGetProperties. More...
 
enum  LobbyType : byte
 Options of lobby types available. Lobby types might be implemented in certain Photon versions and won't be available on older servers. More...
 
enum  AuthModeOption
 Options for authentication modes. From "classic" auth on each server to AuthOnce (on NameServer). More...
 
enum  CustomAuthenticationType : byte
 Options for optional "Custom Authentication" services used with Photon. Used by OpAuthenticate after connecting to Photon. More...
 

Enumeration Type Documentation

Options for authentication modes. From "classic" auth on each server to AuthOnce (on NameServer).

Options for optional "Custom Authentication" services used with Photon. Used by OpAuthenticate after connecting to Photon.

Enumerator
Custom 

Use a custom authentification service. Currently the only implemented option.

Steam 

Authenticates users by their Steam Account. Set auth values accordingly!

Facebook 

Authenticates users by their Facebook Account. Set auth values accordingly!

Oculus 

Authenticates users by their Oculus Account and token.

PlayStation 

Authenticates users by their PSN Account and token.

Xbox 

Authenticates users by their Xbox Account and XSTS token.

None 

Disables custom authentification. Same as not providing any AuthenticationValues for connect (more precisely for: OpAuthenticate).

Enumaration of causes for Disconnects (used in LoadBalancingClient.DisconnectedCause).

Read the individual descriptions to find out what to do about this type of disconnect.

Enumerator
None 

No error was tracked.

ExceptionOnConnect 

OnStatusChanged: The server is not available or the address is wrong. Make sure the port is provided and the server is up.

Exception 

OnStatusChanged: Some internal exception caused the socket code to fail. This may happen if you attempt to connect locally but the server is not available. In doubt: Contact Exit Games.

ServerTimeout 

OnStatusChanged: The server disconnected this client due to timing out (missing acknowledgements from the client).

DisconnectByServer 

OnStatusChanged: The server disconnected this client. Most likely the server's send buffer is full (receiving too much from other clients).

ClientTimeout 

OnStatusChanged: This client detected that the server's responses are not received in due time.

TimeoutDisconnect 

OnStatusChanged: This client detected that the server's responses are not received in due time.

DisconnectByServerLogic 

OnStatusChanged: The server disconnected this client from within the room's logic (the C# code).

DisconnectByServerReasonUnknown 

OnStatusChanged: The server disconnected this client for unknown reasons.

InvalidAuthentication 

OnOperationResponse: Authenticate in the Photon Cloud with invalid AppId. Update your subscription or contact Exit Games.

CustomAuthenticationFailed 

OnOperationResponse: Authenticate in the Photon Cloud with invalid client values or custom authentication setup in Cloud Dashboard.

AuthenticationTicketExpired 

The authentication ticket should provide access to any Photon Cloud server without doing another authentication-service call. However, the ticket expired.

MaxCcuReached 

OnOperationResponse: Authenticate (temporarily) failed when using a Photon Cloud subscription without CCU Burst. Update your subscription.

DisconnectByServerUserLimit 

OnStatusChanged: The current CCUs exceed the CCUs of your subscription (or license). Get a suitable subscription (some include overage).

InvalidRegion 

OnOperationResponse: Authenticate when the app's Photon Cloud subscription is locked to some (other) region(s). Update your subscription or master server address.

OperationNotAllowedInCurrentState 

OnOperationResponse: Operation that's (currently) not available for this client (not authorized usually). Only tracked for op Authenticate.

DisconnectByClientLogic 

OnStatusChanged: The client disconnected from within the logic (the C# code).

Defines how the communication gets encrypted.

Enumerator
PayloadEncryption 

This is the default encryption mode: Messages get encrypted only on demand (when you send operations with the "encrypt" parameter set to true).

DatagramEncryption 

With this encryption mode for UDP, the connection gets setup and all further datagrams get encrypted almost entirely. On-demand message encryption (like in PayloadEncryption) is unavailable.

DatagramEncryptionRandomSequence 

With this encryption mode for UDP, the connection gets setup with random sequence numbers and all further datagrams get encrypted almost entirely. On-demand message encryption (like in PayloadEncryption) is unavailable.

enum EventCaching : byte

Lite - OpRaiseEvent allows you to cache events and automatically send them to joining players in a room. Events are cached per event code and player: Event 100 (example!) can be stored once per player. Cached events can be modified, replaced and removed.

Caching works only combination with ReceiverGroup options Others and All.

Enumerator
DoNotCache 

Default value (not sent).

MergeCache 

Will merge this event's keys with those already cached.

ReplaceCache 

Replaces the event cache for this eventCode with this event's content.

RemoveCache 

Removes this event (by eventCode) from the cache.

AddToRoomCache 

Adds an event to the room's cache

AddToRoomCacheGlobal 

Adds this event to the cache for actor 0 (becoming a "globally owned" event in the cache).

RemoveFromRoomCache 

Remove fitting event from the room's cache.

RemoveFromRoomCacheForActorsLeft 

Removes events of players who already left the room (cleaning up).

SliceIncreaseIndex 

Increase the index of the sliced cache.

SliceSetIndex 

Set the index of the sliced cache. You must set RaiseEventOptions.CacheSliceIndex for this.

SlicePurgeIndex 

Purge cache slice with index. Exactly one slice is removed from cache. You must set RaiseEventOptions.CacheSliceIndex for this.

SlicePurgeUpToIndex 

Purge cache slices with specified index and anything lower than that. You must set RaiseEventOptions.CacheSliceIndex for this.

enum JoinMode : byte

Defines possible values for OpJoinRoom and OpJoinOrCreate. It tells the server if the room can be only be joined normally, created implicitly or found on a web-service for Turnbased games.

These values are not directly used by a game but implicitly set.

Enumerator
Default 

Regular join. The room must exist.

CreateIfNotExists 

Join or create the room if it's not existing. Used for OpJoinOrCreate for example.

JoinOrRejoin 

The room might be out of memory and should be loaded (if possible) from a Turnbased web-service.

RejoinOnly 

Only re-join will be allowed. If the user is not yet in the room, this will fail.

enum LobbyType : byte

Options of lobby types available. Lobby types might be implemented in certain Photon versions and won't be available on older servers.

Enumerator
Default 

This lobby is used unless another is defined by game or JoinRandom. Room-lists will be sent and JoinRandomRoom can filter by matching properties.

SqlLobby 

This lobby type lists rooms like Default but JoinRandom has a parameter for SQL-like "where" clauses for filtering. This allows bigger, less, or and and combinations.

AsyncRandomLobby 

This lobby does not send lists of games. It is only used for OpJoinRandomRoom. It keeps rooms available for a while when there are only inactive users left.

enum MatchmakingMode : byte

Options for matchmaking rules for OpJoinRandom.

Enumerator
FillRoom 

Fills up rooms (oldest first) to get players together as fast as possible. Default.

Makes most sense with MaxPlayers > 0 and games that can only start with more players.

SerialMatching 

Distributes players across available rooms sequentially but takes filter into account. Without filter, rooms get players evenly distributed.

RandomMatching 

Joins a (fully) random room. Expected properties must match but aside from this, any available room might be selected.

enum PropertyTypeFlag : byte

Flags for "types of properties", being used as filter in OpGetProperties.

Enumerator
None 

(0x00) Flag type for no property type.

Game 

(0x01) Flag type for game-attached properties.

Actor 

(0x02) Flag type for actor related propeties.

GameAndActor 

(0x01) Flag type for game AND actor properties. Equal to 'Game'

enum ReceiverGroup : byte

Lite - OpRaiseEvent lets you chose which actors in the room should receive events. By default, events are sent to "Others" but you can overrule this.

Enumerator
Others 

Default value (not sent). Anyone else gets my event.

All 

Everyone in the current room (including this peer) will get this event.

MasterClient 

The server sends this event only to the actor with the lowest actorNumber.

The "master client" does not have special rights but is the one who is in this room the longest time.

Available server (types) for internally used field: server.

Photon uses 3 different roles of servers: Name Server, Master Server and Game Server.

Enumerator
MasterServer 

This server is where matchmaking gets done and where clients can get lists of rooms in lobbies.

GameServer 

This server handles a number of rooms to execute and relay the messages between players (in a room).

NameServer 

This server is used initially to get the address (IP) of a Master Server for a specific region. Not used for Photon OnPremise (self hosted).