Photon SDKs

Photon makes multiplayer game development across platforms easy.
Last but not least for the broad support of platforms and APIs to develop for.

Choose for your project:

the product
  • MULTIPLAYER
  • Realtime
  • PUN
  • Bolt
  • Thunder
  • TrueSync
  • MESSAGING
  • Chat
  • Voice
  • ON-PREMISES
an engine, framework or platform
  • CLIENT
  • SERVER
  • Unity 3D
  • Unreal Engine
  • Cocos2d-x
  • .NET
  • PlayFab
  • Corona
  • Construct 2
  • Marmalade
  • HTML5
  • WebGL
  • V-Play / Qt
  • Xamarin
  • Android
  • Emscripten
  • iOS
  • Linux
  • Mac OS X
  • Playstation 4
  • PS Vita
  • Switch
  • tvOS
  • Windows
  • Windows Store
  • Xbox One
a language
  • C++
  • C#
  • JavaScript
  • Lua
  • Objective C
  • TypeScript
 
Android SDK
Realtime

Android SDK

ReadMe


Photon Android NDK SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform - Fast, reliable, scalable.

Use the Photon Android NDK SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/doc                 - Release history, API documentation
/Chat-cpp            - Photon Chat sources
/Common-cpp          - common sources
/LoadBalancing-cpp   - Loadbalancing specific sources
/Photon-cpp          - common Photon sources
/Demos
    
	/demo_basics:
	The demo client is basically a 'Hello World'. So it's the best place to start if you are new to the SDK.
	
	/demo_chat:
	The demo shows a basic way of using the Photon Chat API with a graphical user interface. This uses the Cocos2D-x graphics engine.
	
    /demo_loadbalancing:
    The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.

	/demo_memory:
	This demo displays Photon's asynchronous turnbased features in a game of Memory. This uses the Cocos2D-x graphics engine.
	
	/demo_particle:
	The demo client connects to a master server and shows the random matchmaking mechanism, how to create a room and how to send and receive events within a running game.
    Players move 'their' blocks around and the positions are updated in realtime between clients. The UI shows areas of interest when activated. This uses the Cocos2D-x graphics engine.
	
	/demo_typeSupport:
    This demo displays the proper use of Photon's serializable data types.
	

Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.



Expand Collapse
Corona SDK
Realtime

Corona SDK

ReadMe


Photon Corona SDK
------------------------------------------

The Photon Lua library provides a simple to use framework to access the Photon Server
and the Photon Cloud from Lua scripts. 
Cross platform communication is possible, so Lua clients can send events to DotNet or
native clients. This might require some adjustments on other platforms. This is shown 
by the "Particle" demo.

The LoadBalancing API is compatible with the Photon Cloud and servers you host yourself, 
using the Photon Server SDK.

Find the latest Photon downloads at https://www.photonengine.com/en-us/realtime/download

The reference documentation is in this package.
More documentation for Photon development is available at http://doc.photonengine.com/.


Package Contents
------------------------------------------

license.txt           - the license terms
install.txt           - installation info
readme.txt            - this readme text
release_history.txt   - release history
doc                  - the Lua API reference documentation
lib                  - library
src/demo-console/autochat.lua                  - console automatic chat test using Lite
src/demo-console/autochat-lb.lua               - console automatic chat test using Cloud suport
src/demo-helloworld-cloud/main.lua             - Corona simple test using Lite
src/demo-particle/main.lua                     - Corona demo showing more of the API's features (Cloud, cross platform)
src/demo-particle/console.lua                  - console variant of particle demo
src/demo-memory/main.lua                       - Corona demo showing Photon Turnbased features
src/demo-chat/main.lua                         - Corona demo showing Photon Chat API's features

	
	
Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
.NET SDK
Realtime

.NET SDK

ReadMe


This is the readme for the Photon Client SDKs.
(C) Exit Games GmbH 2016



LoadBalancing Documentation
----------------------------------------------------------------------------------------------------
The API reference is included in this package as CHM file.
Find the current manuals, tutorials, API reference and more online:
http://doc.photonengine.com



Running the Demos
----------------------------------------------------------------------------------------------------
Our demos are built for the Photon Cloud for convenience (no initial server setup needed).
The service is free for development and signing up is instant and without obligation.

Every game title on the Cloud gets it's own AppId string which must be copied into the clients.
The demos use a property "AppId" in the source files. Set it's value before you build them.

Sign In:             https://www.photonengine.com/en/Account/SignIn
AppId in Dashboard:  https://www.photonengine.com/dashboard

Each application type has it's own AppId (e.g Realtime and Chat).
You will find specific sections of the Dashboard per application type.


Alternatively you can host a "Photon Cloud" yourself. The AppId is not used in that case.
Download the server SDK here:
https://www.photonengine.com/OnPremise/Download

How to start the server:
http://doc.photonengine.com/en/onpremise/current/getting-started/photon-server-in-5min




Chat Documentation
----------------------------------------------------------------------------------------------------
    http://doc.photonengine.com/en/chat
    http://forum.photonengine.com


Implementing Photon Chat
----------------------------------------------------------------------------------------------------
    Photon Chat is separated from other Photon Applications, so it needs it's own AppId.
    Our demos usually don't have an AppId set.
    In code, find "<your appid>" to copy yours in. In Unity, we usually use a component
    to set the AppId via the Inspector. Look for the "Scripts" GameObject in the scenes.

    Register your Chat Application in the Dashboard:
    https://www.photonengine.com/en/Chat/Dashboard

    The class ChatClient and the interface IChatClientListener wrap up most important parts
    of the Chat API. Please refer to their documentation on how to use this API.
    More documentation will follow.

    If you use Unity, copy the source from the ChatApi folder into your project.
    It should run in most cases (unless your Photon assembly is very old).




Unity Notes
----------------------------------------------------------------------------------------------------
If you don't use Unity, skip this chapter.


We assume you're using Unity 5.x. 
The demos are prepared to export for Standalone, not WSA or other.

The SDK contains a "PhotonAssets" folder. To import Photon into your project, copy it's content 
into your project's Asset folder. You may need to setup the DLLs in Unity 5 Inspector to export 
for your platform(s).


Currently supported export platforms are:
    Standalone (Windows, OSx and Linux)
    Web (Windows and MacOS)
    WebGL
    iOS         (Unity 4 needs iOS Pro Unity license)
    Android     (Unity 4 needs Android Pro Unity license)
    Windows Store 8.1 and 10    (including Phone and UWP with one library)
    PS3, PS4 and XBox           (certified developers should get in contact with us on demand)


All Unity projects must use ExitGames.Client.Photon.Hashtable!
This provides compatibility across all exports.
Add this to your code (at the beginning), to resolve the "ambiguous Hashtable" declaration:
using Hashtable = ExitGames.Client.Photon.Hashtable;


Web players do a policy-file request to port TCP 843 before they connect to a remote server.
The Photon Cloud and Server SDK will handle these requests.
If you host the server, open the additional "policy request" port: TCP 843. If you configure
your server applications, run "Policy Application" for webplayers.


How to add Photon to your Unity project:
1) The Unity SDK contains a "PhotonAssets" folder. 
   Copy the content of PhotonAssets\ into your project's Assets folder.
2) Make sure to have the following line of code in your scripts to make it run in background:
   Application.runInBackground = true; //without this Photon will loose connection if not focussed
3) Add "using Hashtable = ExitGames.Client.Photon.Hashtable;" to your scripts. Without quotation.
4) iOS build settings (Edit->Project Settings->Player)
   "iPhone Stripping Level" to "Strip Bytecode" and use
   "DotNet 2.0 Subset".
5) If you host Photon, change the server address in the client. A default of "localhost:5055" won't work on device.
6) Implement OnApplicationQuit() and disconnect the client when the app stops.



Windows Store Notes
----------------------------------------------------------------------------------------------------
To run demos on a smartphone or simulator, you need to setup your server's network address or
use the Photon Cloud.

We assume you run a Photon Server on the same development machine, so by default, our demos have a
address set to "127.0.0.1:5055" and use UDP.
Demos for LoadBalancing or the Cloud will be set to: "ns.exitgames.com:5055" and use UDP.

Search the code and replace those values to run the demos on your own servers or in a simulator.
The Peer.Connect() method is usually used to set the server's address.

A smartphone has it's own IP address, so 127.0.0.1 will contact the phone instead of the machine
that also runs Photon.



Expand Collapse
Emscripten SDK
Realtime

Emscripten SDK

ReadMe


Photon Emscripten SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon Emscripten SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Common-cpp          - common sources
/doc                 - Release history, API documentation
/LoadBalancing-cpp   - Loadbalancing specific sources
/Photon-cpp          - common Photon sources
/Demos

    /demo_loadbalancing:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.
	
	/shared:
    This folder holds all applications used by various demos.
	
	
Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
iOS SDK
Realtime

iOS SDK

ReadMe


Photon iOS SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon iOS SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp            - Photon Chat sources
/Chat-objc           - Photon Chat sources Objective-C
/Common-cpp          - common sources
/Common-objc         - common sources Objective-C
/doc                 - Release history, API documentation
/LoadBalancing-cpp   - Loadbalancing specific sources
/LoadBalancing-objc  - Loadbalancing specific sources Objective-C
/Photon-cpp          - common Photon sources
/Photon-objc         - common Photon sources Objective-C
/Demos

    /demo_basics:
	The demo client is basically a 'Hello World'. So it's the best place to start if you are new to the SDK. It is implemented in C++.
	
	/demo_chat:
	The demo shows a basic way of using the Photon Chat API with a graphical user interface. This uses the Cocos2D-x graphics engine and is implemented in C++.
	
	/demo_chat_objc:
	The demo shows a basic way of using the Photon Chat API within a console. It is implemented in Objective-C.
	
	/demo_iPhone_realtime_objc:
	The demo client connects to a Photon Server running the Lite application and and shows how to create a room and how to send and receive events within a running game.
    Players move 'their' blocks around and the positions are updated in realtime between clients. It uses the Cocos2D-iPhone graphics engine and is implemented in Objective-C.
	
	/demo_loadBalancing:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game. It is implemented in C++.
	 
	/demo_loadBalancing_objc:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game. It is implemented in Objective-C.
	
	/demo_loadBalancing_swift:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game. It is implemented in Swift.
	
	/demo_memory:
	This demo displays Photon's asynchronous turnbased features in a game of Memory. This uses the Cocos2D-x graphics engine. It is implemented in C++.
	
	/demo_particle:
	The demo client connects to a master server and shows the random matchmaking mechanism, how to create a room and how to send and receive events within a running game.
    Players move 'their' blocks around and the positions are updated in realtime between clients. The UI shows areas of interest when activated. This uses the Cocos2D-x graphics engine.
	It is implemented in C++.
	
	/demo_typeSupport:
	This demo displays the proper use of Photon's serializable data types. It is implemented in C++.
	
	/demo_typeSupport_objc:
    This demo displays the proper use of Photon's serializable data types. It is implemented in Objective-C.
	

Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
JavaScript SDK
Realtime

JavaScript SDK

ReadMe

Photon Client Javascript SDK readme.
(C) Exit Games GmbH 2016


Overview 
----------------------------------------------------------------------------------------------------
The Photon Javascript library provides a simple to use framework to access the Photon Server
and the Photon Cloud. It works on many up to date browsers using either native WebSocket or 
a Flash plugin.
Cross platform communication is possible, so Javascript clients can send events to DotNet 
or native clients. This might require some adjustments on other platforms. This is shown by the 
"Particle" demo. The SDK supports 2 APIs.


LoadBalancing API (Realtime and Turnbased)
----------------------------------------------------------------------------------------------------
LoadBalancing API allows to access Photon Cloud Realtime and Turnbased services as well as 
Photon Server LoadBalancing Application:
https://doc.photonengine.com/en/realtime/current/getting-started/realtime-intro
https://doc.photonengine.com/en/turnbased/current/getting-started/turnbased-intro
https://doc.photonengine.com/en/onpremise/current/reference/load-balancing


Chat API
----------------------------------------------------------------------------------------------------
Chat API allows to access Photon Chat service:
https://doc.photonengine.com/en/chat/current/getting-started/chat-intro


Documentation
----------------------------------------------------------------------------------------------------
The reference documentation is in this package. Follow links per API above for more documentation 
for Photon development.


Download
----------------------------------------------------------------------------------------------------
The latest version of Javascript SDK can be found at
https://www.photonengine.com/Realtime/Download


Contact
----------------------------------------------------------------------------------------------------
To get in touch with other Photon developers and our engineers, visit our Developer Forum:
http://forum.photonengine.com
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com


Package Contents
----------------------------------------------------------------------------------------------------
license.txt         - the license terms
install.txt         - installation info
readme.txt          - this readme text
release_history.txt - release history
/doc                - the Javascript API reference documentation
/lib                - the different versions of the lib
/src    
    /demo-loadbalancing     - basic Realtime application (Loadbalancing API) demo
    /demo-particle          - demo showing more of the Loadbalancing API's features
    /demo-pairs-mc          - Turnbased application demo
    /demo-chat-api          - demo showing Photon Chat API's features
    /Photon                 - library typescript source files
    PhotonWebsockets.sln    - Visual Studio solution file for samples typescript projects
                              (Typescript minimal version 1.0.0.0 required)
Expand Collapse
Linux SDK
Realtime

Linux SDK

ReadMe


Photon Linux SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon Linux SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp            - Photon Chat sources
/Common-cpp          - common sources
/doc                 - Release history, API documentation
/LoadBalancing-cpp   - Loadbalancing specific sources
/Photon-cpp          - common Photon sources
/Demos

    /demo_basics:
	The demo client is basically a 'Hello World'. So it's the best place to start if you are new to the SDK.
	
	/demo_chat:
	The demo shows a basic way of using the Photon Chat API in a console.
	
	/demo_loadBalancing:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.
	
	/demo_particle:
	The demo client connects to a master server and shows the random matchmaking mechanism, how to create a room and how to send and receive events within a running game.
    Blocks are being moved automatically and the positions are updated in realtime between clients. This is a console application.
	
	/demo_typeSupport:
	This demo displays the proper use of Photon's serializable data types.


Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
Mac OS X SDK
Realtime

Mac OS X SDK

ReadMe


Photon Mac OS X SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon Mac OS X SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp            - Photon Chat sources
/Chat-objc           - Photon Chat sources Objective-C
/Common-cpp          - common sources
/Common-objc         - common sources Objective-C
/doc                 - Release history, IPA documentation
/LoadBalancing-cpp   - Loadbalancing specific sources
/LoadBalancing-objc  - Loadbalancing specific sources Objective-C
/Photon-cpp          - common Photon sources
/Photon-objc         - common Photon sources Objective-C
/Demos
	
	/demo_basics:
	The demo client is basically a 'Hello World'. So it's the best place to start if you are new to the SDK. It is implemented in C++.
	
	/demo_chat:
    The demo shows a basic way of using the Photon Chat API within a console. It is implemented in C++.	
	
	/demo_loadBalancing:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game. It is implemented in C++.
	 
	/demo_loadBalancing_objc:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game. It is implemented in Objective-C.
	
	/demo_loadBalancing_swift:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game. It is implemented in Swift.
	
	/demo_particle:
	The demo client connects to a master server and shows the random matchmaking mechanism, how to create a room and how to send and receive events within a running game.
    Blocks are being moved automatically and the positions are updated in realtime between clients. This is a console application which is implemented in C++.
	
	/demo_typeSupport:
	This demo displays the proper use of Photon's serializable data types. It is implemented in C++.
	
	/demo_typeSupport_objc:
    This demo displays the proper use of Photon's serializable data types. It is implemented in Objective-C.
	

Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
Marmalade SDK
Realtime

Marmalade SDK

ReadMe


Photon Marmalade SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon Marmalade SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

defines.txt
/Chat-cpp            - Photon Chat sources
/Common-cpp          - common sources
/doc                 - Release history, API documentation
/LoadBalancing-cpp   - Loadbalancing specific sources
/Photon-cpp          - common Photon sources
/Demos

    /demo_basics:
	The demo client is basically a 'Hello World'. So it's the best place to start if you are new to the SDK.
	
	/demo_chat:
	The demo shows a basic way of using the Photon Chat API with a graphical user interface. This uses the Cocos2D-x graphics engine.
	
    /demo_loadbalancing:
    The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.

	/demo_memory:
	This demo displays Photon's asynchronous turnbased features in a game of Memory. This uses the Cocos2D-x graphics engine.
	
	/demo_particle:
	The demo client connects to a master server and shows the random matchmaking mechanism, how to create a room and how to send and receive events within a running game.
    Players move 'their' blocks around and the positions are updated in realtime between clients. The UI shows areas of interest when activated. This uses the Cocos2D-x graphics engine.
	
	/demo_typeSupport:
    This demo displays the proper use of Photon's serializable data types.
	
	
Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
Playstation 4 SDK
Realtime

Playstation 4 SDK

ReadMe


Photon PS4 SDK
------------------------------------------

Please contact the console producer on additional setup information or required authorization.

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp              - Photon Chat sources
/Common-cpp            - common sources
/doc                   - Release history, API documentation
/LoadBalancing-cpp     - Loadbalancing specific sources
/Photon-cpp            - common Photon sources
/Demos

	/demo_chat:
	The demo shows a basic way of using the Photon Chat API.

	/demo_loadbalancing:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.

	/demo_particle:
	The demo client connects to a master server and shows the random matchmaking mechanism, how to create a room and how to send and receive events within a running game.
	Players move 'their' blocks around and the positions are updated in realtime between clients.


Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
PS Vita SDK
Realtime

PS Vita SDK

ReadMe


Photon PSVita SDK
------------------------------------------

Please contact the console producer on additional setup information or required authorization.

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp              - Photon Chat sources
/Common-cpp            - common sources
/doc                   - Release history, API documentation
/LoadBalancing-cpp     - Loadbalancing specific sources
/Photon-cpp            - common Photon sources
/Demos

	/demo_loadbalancing:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.


Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
Construct 2 SDK
Realtime

Construct 2 SDK

ReadMe

Photon SDK for Scirra Construct 2 readme.  
(C) Exit Games GmbH 2016

Overview 
----------------------------------------------------------------------------------------------------
Photon SDK contains Scirra Construct 2 plugins exposing underlying Photon Javascript library 
functionality:
- Photon Realtime Plugin allows to develop multiplayer games with clients communicating through 
  Photon Cloud or self-hosted Photon Server. 
  Follow https://www.photonengine.com/en/Realtime for info on Photon Realtime.
- Photon Chat Plugin adds chat functionality to your game.
  Follow https://www.photonengine.com/en/Chat for info on Photon Chat.

Installation
----------------------------------------------------------------------------------------------------
- Drag and drop photon.c2addon and photon-chat.c2addon files into the Construct 2 window. 
  See Construct 2 documentation on plugins installation details.
- Register a new realtime app at https://www.photonengine.com/en/Dashboard/Realtime 
- Register a new chat app at https://www.photonengine.com/en/Dashboard/Chat

Running demos
----------------------------------------------------------------------------------------------------
- Find Photon object in project tree and set its AppId property to application id value from dashboard.
- Select Main layout.
- Run the application. Editor will open browser page. Copy url and open it in new browser pages.
- Check browser console for helpful info.
- Pool demo: all clients automatically join single room, each spawns the fish and notifies others 
  with fish positions. Click on the pool makes owned fish move to the click location.
- Test demo: automatically joins or creates new room. Pressing Leave will bring the client to the lobby 
  where client can create new room or join existing from list. Also, test event firing is available 
  inside the room (check other clients log for events receive report).
- Chat demo: start 2 or more clients. For every client, choose user id and press Connect. 
  When client is connected to front end, enter channel names separated by comma and press Subscribe. 
  Select channel in list, enter message and press Publish. Or specify destination user id and send 
  private message by pressing Send.

Package Contents
----------------------------------------------------------------------------------------------------
- license.txt         - the license terms
- readme.txt          - this readme text
- release_history.txt - changelog
- photon.c2addon      - Photon Realtime Plugin
- photon-chat.c2addon - Photon Chat Plugin
- demo-test.capx      - application for testing Photon Realtime features
- demo-pool.capx      - Realtime demo application
- demo-chat.capx      - Chat demo application

Documentation
----------------------------------------------------------------------------------------------------
There is no Photon Construct 2 Plugin specific documentation or tutorials available currently.  
General documentation on Photon Realtime: http://doc.photonengine.com/en-us/realtime/current/getting-started/realtime-intro  
Photon Chat documentation: http://doc.photonengine.com/en-us/chat/current/getting-started/chat-intro  
Underlying Photon Javascript API reference: http://doc-api.photonengine.com/en/javascript/current  

Demos included in the package show clear how plugin works and may be used as tempaltes for real projects.  
Short descriptions available for each plugin item in editor.

Download
----------------------------------------------------------------------------------------------------
The latest version of Photon Plugin for Scirra Construct 2 can be found at
https://www.photonengine.com/Realtime/Download

Contact
----------------------------------------------------------------------------------------------------
To get in touch with other Photon developers and our engineers, visit our Developer Forum:
http://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com  



Expand Collapse
Switch SDK
Realtime

Switch SDK

ReadMe


Photon Switch SDK
------------------------------------------

Please contact the console producer on additional setup information or required authorization.

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp              - Photon Chat sources
/Common-cpp            - common sources
/doc                   - Release history, API documentation
/LoadBalancing-cpp     - Loadbalancing specific sources
/Photon-cpp            - common Photon sources
/Demos

	/demo_loadbalancing:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.


Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
tvOS SDK
Realtime

tvOS SDK

ReadMe


Photon tvOS SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon tvOS SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp                - Photon Chat sources
/Chat-objc               - Photon Chat sources Objective-C
/Common-cpp              - common sources
/Common-objc             - common sources Objective-C
/doc                     - Release history, API documentation
/LoadBalancing-cpp       - Loadbalancing specific sources
/LoadBalancing-objc      - Loadbalancing specific sources Objective-C
/Photon-cpp              - common Photon sources
/Photon-objc             - common Photon sources Objective-C

For demos please look into the iOS SDK: http://doc.photonengine.com/en/realtime/current/sdks-and-api/sdk-ios 


Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
Unity 3D SDK
Realtime

Unity 3D SDK

Below SDK implements a lean networking framework, LoadBalancing API, offering programmers detailed control.

Alternatively, use Photon Unity Networking (PUN) which integrates more tightly with Unity's development approach.
Get PUN from here.

ReadMe


This is the readme for the Photon Client SDKs.
(C) Exit Games GmbH 2016



LoadBalancing Documentation
----------------------------------------------------------------------------------------------------
The API reference is included in this package as CHM file.
Find the current manuals, tutorials, API reference and more online:
http://doc.photonengine.com



Running the Demos
----------------------------------------------------------------------------------------------------
Our demos are built for the Photon Cloud for convenience (no initial server setup needed).
The service is free for development and signing up is instant and without obligation.

Every game title on the Cloud gets it's own AppId string which must be copied into the clients.
The demos use a property "AppId" in the source files. Set it's value before you build them.

Sign In:             https://www.photonengine.com/en/Account/SignIn
AppId in Dashboard:  https://www.photonengine.com/dashboard

Each application type has it's own AppId (e.g Realtime and Chat).
You will find specific sections of the Dashboard per application type.


Alternatively you can host a "Photon Cloud" yourself. The AppId is not used in that case.
Download the server SDK here:
https://www.photonengine.com/OnPremise/Download

How to start the server:
http://doc.photonengine.com/en/onpremise/current/getting-started/photon-server-in-5min




Chat Documentation
----------------------------------------------------------------------------------------------------
    http://doc.photonengine.com/en/chat
    http://forum.photonengine.com


Implementing Photon Chat
----------------------------------------------------------------------------------------------------
    Photon Chat is separated from other Photon Applications, so it needs it's own AppId.
    Our demos usually don't have an AppId set.
    In code, find "<your appid>" to copy yours in. In Unity, we usually use a component
    to set the AppId via the Inspector. Look for the "Scripts" GameObject in the scenes.

    Register your Chat Application in the Dashboard:
    https://www.photonengine.com/en/Chat/Dashboard

    The class ChatClient and the interface IChatClientListener wrap up most important parts
    of the Chat API. Please refer to their documentation on how to use this API.
    More documentation will follow.

    If you use Unity, copy the source from the ChatApi folder into your project.
    It should run in most cases (unless your Photon assembly is very old).




Unity Notes
----------------------------------------------------------------------------------------------------
If you don't use Unity, skip this chapter.


We assume you're using Unity 5.x. 
The demos are prepared to export for Standalone, not WSA or other.

The SDK contains a "PhotonAssets" folder. To import Photon into your project, copy it's content 
into your project's Asset folder. You may need to setup the DLLs in Unity 5 Inspector to export 
for your platform(s).


Currently supported export platforms are:
    Standalone (Windows, OSx and Linux)
    Web (Windows and MacOS)
    WebGL
    iOS         (Unity 4 needs iOS Pro Unity license)
    Android     (Unity 4 needs Android Pro Unity license)
    Windows Store 8.1 and 10    (including Phone and UWP with one library)
    PS3, PS4 and XBox           (certified developers should get in contact with us on demand)


All Unity projects must use ExitGames.Client.Photon.Hashtable!
This provides compatibility across all exports.
Add this to your code (at the beginning), to resolve the "ambiguous Hashtable" declaration:
using Hashtable = ExitGames.Client.Photon.Hashtable;


Web players do a policy-file request to port TCP 843 before they connect to a remote server.
The Photon Cloud and Server SDK will handle these requests.
If you host the server, open the additional "policy request" port: TCP 843. If you configure
your server applications, run "Policy Application" for webplayers.


How to add Photon to your Unity project:
1) The Unity SDK contains a "PhotonAssets" folder. 
   Copy the content of PhotonAssets\ into your project's Assets folder.
2) Make sure to have the following line of code in your scripts to make it run in background:
   Application.runInBackground = true; //without this Photon will loose connection if not focussed
3) Add "using Hashtable = ExitGames.Client.Photon.Hashtable;" to your scripts. Without quotation.
4) iOS build settings (Edit->Project Settings->Player)
   "iPhone Stripping Level" to "Strip Bytecode" and use
   "DotNet 2.0 Subset".
5) If you host Photon, change the server address in the client. A default of "localhost:5055" won't work on device.
6) Implement OnApplicationQuit() and disconnect the client when the app stops.



Windows Store Notes
----------------------------------------------------------------------------------------------------
To run demos on a smartphone or simulator, you need to setup your server's network address or
use the Photon Cloud.

We assume you run a Photon Server on the same development machine, so by default, our demos have a
address set to "127.0.0.1:5055" and use UDP.
Demos for LoadBalancing or the Cloud will be set to: "ns.exitgames.com:5055" and use UDP.

Search the code and replace those values to run the demos on your own servers or in a simulator.
The Peer.Connect() method is usually used to set the server's address.

A smartphone has it's own IP address, so 127.0.0.1 will contact the phone instead of the machine
that also runs Photon.



Expand Collapse
Windows SDK
Realtime

Windows SDK

ReadMe


Photon Windows SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon Windows SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp              - Photon Chat sources
/Common-cpp            - common sources
/doc                   - Release history, API documentation
/LoadBalancing-cpp     - Loadbalancing specific sources
/Photon-cpp            - common Photon sources
/Demos
    
	/demo_basics:
	The demo client is basically a 'Hello World'. So it's the best place to start if you are new to the SDK.
	
	/demo_chat:
	The demo shows a basic way of using the Photon Chat API.
	
    /demo_loadbalancing:
    The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.

	/demo_memory:
	This demo displays Photon's asynchronous turnbased features in a game of Memory. This uses the Cocos2D-x graphics engine.
	
	/demo_particle:
	The demo client connects to a master server and shows the random matchmaking mechanism, how to create a room and how to send and receive events within a running game.
    Players move 'their' blocks around and the positions are updated in realtime between clients.
	
	/demo_typeSupport:
    This demo displays the proper use of Photon's serializable data types.
	

Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
Windows Store SDK
Realtime

Windows Store SDK

ReadMe


Photon Windows Store SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon Windows Store SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp              - Photon Chat sources
/Common-cpp            - common sources
/doc                   - Release history, API documentation
/LoadBalancing-cpp     - Loadbalancing specific sources
/Photon-cpp            - common Photon sources
/Demos
	
	/demo_loadBalancing:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.
	
	
Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
Xamarin SDK
Realtime

Xamarin SDK

ReadMe


This is the readme for the Photon Client SDKs.
(C) Exit Games GmbH 2014



Reference Documentation
----------------------------------------------------------------------------------------------------
The API reference is included in this package as CHM file.
Find the current API reference, manuals, tutorials and more online:
http://doc.exitgames.com



Running the Demos
----------------------------------------------------------------------------------------------------
Our demos are built for the Photon Cloud to reduce the effort to run them. No server setup needed.
The service is free for development and signing up takes less than 5 minutes.

Every game title on the Cloud gets it's own AppId string, which must be copied into the clients. 
The demos use a property "AppId" in the source files. Set it's value before you build them.

Sign Up:                https://cloud.exitgames.com
App ID in Dashboard:    https://cloud.exitgames.com/dashboard

The Application ID is per application type (Realtime, Turnbased, Chat)!
You will find specific sections of the Dashboard per application type.


Alternatively you can host a "Photon Cloud" yourself and use any AppId. This is what you need to do:
- Download the Photon Server SDK (it comes as 7zip file or self-extracting exe).
- Unpack-
- Execute PhotonControl.exe.
- Click "Game Server IP Config" and pick a suitable IP address (local network or public).
- This IP must be used in your game as (master) server address. Don't forget the port after ":".
- Click "Loadbalancing (MyCloud)" and "Start as Application".

How to start the server:
http://doc.exitgames.com/en/onpremise/current/getting-started/photon-server-in-5min

Download the server SDK here:
https://www.exitgames.com/OnPremise/Download




Unity3d Notes
----------------------------------------------------------------------------------------------------
If you don't use Unity3D, skip this chapter.

Currently supported export platforms are: 
    Standalone (Windows, OSx and Linux)
    Web (Windows and MacOS)
    iOS (needs iOS Pro Unity license)
    Android (needs Android Pro Unity license)
    Windows 8 Store and Phone
    PS3, PS4 and XBox (certified developers should get in contact with us on demand)

As of v3.2.1.6 all Unity projects must use ExitGames.Client.Photon.Hashtable!
This provides compatibility with Win 8 RT and Win 8 Phone exports.
Add this to your code (at the beginning), to resolve the "ambiguous Hashtable" declaration:
using Hashtable = ExitGames.Client.Photon.Hashtable;

Web players do a policy-file request to port TCP 843 before they connect to a remote server. 
The Photon Cloud and Server SDK will handle these requests.
If you host the server, open the additional "policy request" port: TCP 843. If you configure
your server applications, run "Policy Application" for webplayers.


How to add Photon to your Unity project:
1) Copy the Photon .dll into the "Assets\Plugins" folder of your project. Avoid dll duplicates!
2) Make sure to have the following line of code somewhere in your scripts, to run it in background:
   Application.runInBackground = true; //without this Photon will loose connection if not focussed
3) Add "using Hashtable = ExitGames.Client.Photon.Hashtable;" to your scripts. Without quotation.
4) iOS build settings (Edit->Project Settings->Player) 
   "iPhone Stripping Level" to "Strip Bytecode" and use 
   "DotNet 2.0 subset".
   If your project runs fine in IDE but fails on device, check the "DotNet 2.0 Subset" option!
5) Change the server address in the client. A default of "localhost:5055" won't work on device.
6) Implement OnApplicationQuit() and disconnect the client when the app stops.



Windows Phone Notes
----------------------------------------------------------------------------------------------------
To run demos on a smartphone or simulator, you need to setup your server's network address or 
use the Photon Cloud. 

We assume you run a Photon Server on the same development machine, so by default, our demos have a 
address set to "127.0.0.1:5055" and use UDP.
Demos for LoadBalancing or the Cloud will be set to: "app.exitgamescloud.com:5055" and use UDP.

Search the code and replace those values to run the demos on your own servers or in a simulator.
The Peer.Connect() method is usually used to set the server's address.

A smartphone has it's own IP address, so 127.0.0.1 will contact the phone instead of the machine 
that also runs Photon.



Xamarin Notes
----------------------------------------------------------------------------------------------------
Edit MainActivity.cs with your own AppId (approx. line 33). Read "Running Loadbalancing Demos".
Alternatively change the ServerAddress to a Photon Server you are hosting. Don't forget the ":port".

Our library dlls are fully Xamarin.iOS, Xamarin.Android and Xamarin.mac compatible, 
but the projects to build them are not. So you can't reference the LoadBalancingApi project 
directly.
Instead, we reference the dlls to minimize the number of projects to maintain and potential for 
desaster.

The demo particle links directly to some of the source files of demo-particle-logic for similar 
reasons.

Let us know if our workflow doesn't work for you.




Playstation Mobile Notes
----------------------------------------------------------------------------------------------------
The demo by default connects to the EU Photon Cloud servers. You only need to register to run your 
own application (game) on it. This gives you the AppId which must be inserted into:
demo-particle-psm\AppMain.cs
Expand Collapse
Xbox One SDK
Realtime

Xbox One SDK

ReadMe


Photon XB1 SDK
------------------------------------------

Please contact the console producer on additional setup information or required authorization.

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp              - Photon Chat sources
/Common-cpp            - common sources
/doc                   - Release history, API documentation
/LoadBalancing-cpp     - Loadbalancing specific sources
/Photon-cpp            - common Photon sources
/Demos

	/demo_loadbalancing:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.


Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
Cocos2d-x SDKs
Realtime

Cocos2d-x SDKs

All C++ based Photon SDKs are compatible with Cocos2d-x off the shelf! Find the SDKs you can gear it up with linked to below.

iOS , Android , Windows , Marmalade

Unreal Engine SDKs
Realtime

Unreal Engine SDKs

All C++ based Photon SDKs are compatible with the UNREAL ENGINE off the shelf! Find the SDKs you can gear it up with linked to below.

Android , iOS , Linux , Mac OS X , Switch , tvOS , Windows , Xbox One

Doc
Get setup instructions in the Photon Unreal Engine SDK doc.
PlayFab SDK
Realtime
V-Play SDK
Realtime
UNITY Package
PUN

Photon PUN Unity Assets Made for UNITY

Photon Unity Networking (PUN) is our take on high-level multiplayer-features for Unity:
Easy to use callbacks, components to synchronize GameObjects and Remote Procedure Calls (RPCs) provide a great start. Below all that is a solid, extensive API for more advanced control.

Alternatively, use the Photon Unity .NET SDK. The client SDK implements a lean networking framework, LoadBalancing API, offering programmers detailed control.
Get the Photon Unity .NET SDK from here.

PUN FREE UNITY Package
Get PUN FREE
Export to all Unity supported platforms with Unity 5.x Personal or Pro. Unity 4.x users can export to all platforms but iOS and Android.

Doc
PUN Documentation
API Doc
PUN API

PUN+ UNITY Package
Get PUN PLUS
Export to all Unity supported platforms, no matter what Unity license or version you have. It also includes a 100 CCU Photon Realtime, 60 months plan.

Doc
PUN Documentation
API Doc
PUN API

Indie Power Series - Published by Us, Developed by Partners

VR Shooting Range This sample is a reference implementation of a VR shooting range multiplayer online game built on top of Photon Unity Networking Free, which is included in the package. It supports all major VR kits and hand controllers.

Get VR DEMO

PUN Rally PUN Rally is a complete base project for a multiplayer racing game. The project includes all sources and a 30+ pages illustrated tutorial book (PDF) explaining its use of realistic physics, dead-reckoning, checkpoint-based positions, and several other important features.

Get PUN Rally

Sky Arena This tutorial shows how to develop a fast paced, 3D space-shoot'em up. It contains videos, source code and all asets. Learn about synchronizing GameObjects, RPCs, SceneObjects and much more.

Get SKY ARENA

Hand-picked 3rd Party Packages with Photon Power

Playmaker The powerful visual scripting solution used in Hearthstone and Dreamfall Chapters. Quickly make gameplay prototypes, A.I. behaviors, animation graphs, interactive objects, cut-scenes, walkthroughs... Multiplayer is powered by Photon Unity Networking.

Get PLAYMAKER

UFPS Add-on for UFPS to hook your 1st person game up with the Photon Cloud. A framework of wrapper scripts allowing you to get started on a game without worrying about compatibility between UFPS and Photon Unity Networking.

Get UFPS

UNITY Package
TrueSync

Photon TrueSync Made for UNITY

Photon TrueSync UNITY Asset
Buy TrueSync
TrueSync is based on a synchronous lockstep architecture with its own physics engine to keep a deterministic game state for Unity multiplayer games. All features from PUN are included.

Doc
TrueSync Documentation
API Doc
TrueSync API

UNITY Package
Bolt

Photon Bolt Made for UNITY

Photon Bolt UNITY Asset
Buy Bolt
Bolt is our peer2peer networking engine that comes with smart features you won't find with other. Enjoy a powerful event system, authoritative movement with client-side prediction, mecanim replication and a global matchmaking and relay service.

Doc
Bolt Documentation
API Doc
Bolt API

UNITY Package
Thunder

Photon Thunder Made for UNITY

Photon Thunder UNITY Asset
Get Early Access
The Power of Photon Cloud for Unity's UNET API
Add matchmaking, punch-through and a relay service to your Unity Multiplayer (HLAPI) game. All at an unbeatable price

Android SDK
Chat

Android SDK

ReadMe


Photon Android NDK SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform - Fast, reliable, scalable.

Use the Photon Android NDK SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/doc                 - Release history, API documentation
/Chat-cpp            - Photon Chat sources
/Common-cpp          - common sources
/LoadBalancing-cpp   - Loadbalancing specific sources
/Photon-cpp          - common Photon sources
/Demos
    
	/demo_basics:
	The demo client is basically a 'Hello World'. So it's the best place to start if you are new to the SDK.
	
	/demo_chat:
	The demo shows a basic way of using the Photon Chat API with a graphical user interface. This uses the Cocos2D-x graphics engine.
	
    /demo_loadbalancing:
    The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.

	/demo_memory:
	This demo displays Photon's asynchronous turnbased features in a game of Memory. This uses the Cocos2D-x graphics engine.
	
	/demo_particle:
	The demo client connects to a master server and shows the random matchmaking mechanism, how to create a room and how to send and receive events within a running game.
    Players move 'their' blocks around and the positions are updated in realtime between clients. The UI shows areas of interest when activated. This uses the Cocos2D-x graphics engine.
	
	/demo_typeSupport:
    This demo displays the proper use of Photon's serializable data types.
	

Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.



Expand Collapse
Corona SDK
Chat

Corona SDK

ReadMe


Photon Corona SDK
------------------------------------------

The Photon Lua library provides a simple to use framework to access the Photon Server
and the Photon Cloud from Lua scripts. 
Cross platform communication is possible, so Lua clients can send events to DotNet or
native clients. This might require some adjustments on other platforms. This is shown 
by the "Particle" demo.

The LoadBalancing API is compatible with the Photon Cloud and servers you host yourself, 
using the Photon Server SDK.

Find the latest Photon downloads at https://www.photonengine.com/en-us/realtime/download

The reference documentation is in this package.
More documentation for Photon development is available at http://doc.photonengine.com/.


Package Contents
------------------------------------------

license.txt           - the license terms
install.txt           - installation info
readme.txt            - this readme text
release_history.txt   - release history
doc                  - the Lua API reference documentation
lib                  - library
src/demo-console/autochat.lua                  - console automatic chat test using Lite
src/demo-console/autochat-lb.lua               - console automatic chat test using Cloud suport
src/demo-helloworld-cloud/main.lua             - Corona simple test using Lite
src/demo-particle/main.lua                     - Corona demo showing more of the API's features (Cloud, cross platform)
src/demo-particle/console.lua                  - console variant of particle demo
src/demo-memory/main.lua                       - Corona demo showing Photon Turnbased features
src/demo-chat/main.lua                         - Corona demo showing Photon Chat API's features

	
	
Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
.NET SDK
Chat

.NET SDK

ReadMe


This is the readme for the Photon Client SDKs.
(C) Exit Games GmbH 2016



LoadBalancing Documentation
----------------------------------------------------------------------------------------------------
The API reference is included in this package as CHM file.
Find the current manuals, tutorials, API reference and more online:
http://doc.photonengine.com



Running the Demos
----------------------------------------------------------------------------------------------------
Our demos are built for the Photon Cloud for convenience (no initial server setup needed).
The service is free for development and signing up is instant and without obligation.

Every game title on the Cloud gets it's own AppId string which must be copied into the clients.
The demos use a property "AppId" in the source files. Set it's value before you build them.

Sign In:             https://www.photonengine.com/en/Account/SignIn
AppId in Dashboard:  https://www.photonengine.com/dashboard

Each application type has it's own AppId (e.g Realtime and Chat).
You will find specific sections of the Dashboard per application type.


Alternatively you can host a "Photon Cloud" yourself. The AppId is not used in that case.
Download the server SDK here:
https://www.photonengine.com/OnPremise/Download

How to start the server:
http://doc.photonengine.com/en/onpremise/current/getting-started/photon-server-in-5min




Chat Documentation
----------------------------------------------------------------------------------------------------
    http://doc.photonengine.com/en/chat
    http://forum.photonengine.com


Implementing Photon Chat
----------------------------------------------------------------------------------------------------
    Photon Chat is separated from other Photon Applications, so it needs it's own AppId.
    Our demos usually don't have an AppId set.
    In code, find "<your appid>" to copy yours in. In Unity, we usually use a component
    to set the AppId via the Inspector. Look for the "Scripts" GameObject in the scenes.

    Register your Chat Application in the Dashboard:
    https://www.photonengine.com/en/Chat/Dashboard

    The class ChatClient and the interface IChatClientListener wrap up most important parts
    of the Chat API. Please refer to their documentation on how to use this API.
    More documentation will follow.

    If you use Unity, copy the source from the ChatApi folder into your project.
    It should run in most cases (unless your Photon assembly is very old).




Unity Notes
----------------------------------------------------------------------------------------------------
If you don't use Unity, skip this chapter.


We assume you're using Unity 5.x. 
The demos are prepared to export for Standalone, not WSA or other.

The SDK contains a "PhotonAssets" folder. To import Photon into your project, copy it's content 
into your project's Asset folder. You may need to setup the DLLs in Unity 5 Inspector to export 
for your platform(s).


Currently supported export platforms are:
    Standalone (Windows, OSx and Linux)
    Web (Windows and MacOS)
    WebGL
    iOS         (Unity 4 needs iOS Pro Unity license)
    Android     (Unity 4 needs Android Pro Unity license)
    Windows Store 8.1 and 10    (including Phone and UWP with one library)
    PS3, PS4 and XBox           (certified developers should get in contact with us on demand)


All Unity projects must use ExitGames.Client.Photon.Hashtable!
This provides compatibility across all exports.
Add this to your code (at the beginning), to resolve the "ambiguous Hashtable" declaration:
using Hashtable = ExitGames.Client.Photon.Hashtable;


Web players do a policy-file request to port TCP 843 before they connect to a remote server.
The Photon Cloud and Server SDK will handle these requests.
If you host the server, open the additional "policy request" port: TCP 843. If you configure
your server applications, run "Policy Application" for webplayers.


How to add Photon to your Unity project:
1) The Unity SDK contains a "PhotonAssets" folder. 
   Copy the content of PhotonAssets\ into your project's Assets folder.
2) Make sure to have the following line of code in your scripts to make it run in background:
   Application.runInBackground = true; //without this Photon will loose connection if not focussed
3) Add "using Hashtable = ExitGames.Client.Photon.Hashtable;" to your scripts. Without quotation.
4) iOS build settings (Edit->Project Settings->Player)
   "iPhone Stripping Level" to "Strip Bytecode" and use
   "DotNet 2.0 Subset".
5) If you host Photon, change the server address in the client. A default of "localhost:5055" won't work on device.
6) Implement OnApplicationQuit() and disconnect the client when the app stops.



Windows Store Notes
----------------------------------------------------------------------------------------------------
To run demos on a smartphone or simulator, you need to setup your server's network address or
use the Photon Cloud.

We assume you run a Photon Server on the same development machine, so by default, our demos have a
address set to "127.0.0.1:5055" and use UDP.
Demos for LoadBalancing or the Cloud will be set to: "ns.exitgames.com:5055" and use UDP.

Search the code and replace those values to run the demos on your own servers or in a simulator.
The Peer.Connect() method is usually used to set the server's address.

A smartphone has it's own IP address, so 127.0.0.1 will contact the phone instead of the machine
that also runs Photon.



Expand Collapse
Emscripten SDK
Chat

Emscripten SDK

ReadMe


Photon Emscripten SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon Emscripten SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Common-cpp          - common sources
/doc                 - Release history, API documentation
/LoadBalancing-cpp   - Loadbalancing specific sources
/Photon-cpp          - common Photon sources
/Demos

    /demo_loadbalancing:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.
	
	/shared:
    This folder holds all applications used by various demos.
	
	
Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
iOS SDK
Chat

iOS SDK

ReadMe


Photon iOS SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon iOS SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp            - Photon Chat sources
/Chat-objc           - Photon Chat sources Objective-C
/Common-cpp          - common sources
/Common-objc         - common sources Objective-C
/doc                 - Release history, API documentation
/LoadBalancing-cpp   - Loadbalancing specific sources
/LoadBalancing-objc  - Loadbalancing specific sources Objective-C
/Photon-cpp          - common Photon sources
/Photon-objc         - common Photon sources Objective-C
/Demos

    /demo_basics:
	The demo client is basically a 'Hello World'. So it's the best place to start if you are new to the SDK. It is implemented in C++.
	
	/demo_chat:
	The demo shows a basic way of using the Photon Chat API with a graphical user interface. This uses the Cocos2D-x graphics engine and is implemented in C++.
	
	/demo_chat_objc:
	The demo shows a basic way of using the Photon Chat API within a console. It is implemented in Objective-C.
	
	/demo_iPhone_realtime_objc:
	The demo client connects to a Photon Server running the Lite application and and shows how to create a room and how to send and receive events within a running game.
    Players move 'their' blocks around and the positions are updated in realtime between clients. It uses the Cocos2D-iPhone graphics engine and is implemented in Objective-C.
	
	/demo_loadBalancing:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game. It is implemented in C++.
	 
	/demo_loadBalancing_objc:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game. It is implemented in Objective-C.
	
	/demo_loadBalancing_swift:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game. It is implemented in Swift.
	
	/demo_memory:
	This demo displays Photon's asynchronous turnbased features in a game of Memory. This uses the Cocos2D-x graphics engine. It is implemented in C++.
	
	/demo_particle:
	The demo client connects to a master server and shows the random matchmaking mechanism, how to create a room and how to send and receive events within a running game.
    Players move 'their' blocks around and the positions are updated in realtime between clients. The UI shows areas of interest when activated. This uses the Cocos2D-x graphics engine.
	It is implemented in C++.
	
	/demo_typeSupport:
	This demo displays the proper use of Photon's serializable data types. It is implemented in C++.
	
	/demo_typeSupport_objc:
    This demo displays the proper use of Photon's serializable data types. It is implemented in Objective-C.
	

Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
JavaScript SDK
Chat

JavaScript SDK

ReadMe

Photon Client Javascript SDK readme.
(C) Exit Games GmbH 2016


Overview 
----------------------------------------------------------------------------------------------------
The Photon Javascript library provides a simple to use framework to access the Photon Server
and the Photon Cloud. It works on many up to date browsers using either native WebSocket or 
a Flash plugin.
Cross platform communication is possible, so Javascript clients can send events to DotNet 
or native clients. This might require some adjustments on other platforms. This is shown by the 
"Particle" demo. The SDK supports 2 APIs.


LoadBalancing API (Realtime and Turnbased)
----------------------------------------------------------------------------------------------------
LoadBalancing API allows to access Photon Cloud Realtime and Turnbased services as well as 
Photon Server LoadBalancing Application:
https://doc.photonengine.com/en/realtime/current/getting-started/realtime-intro
https://doc.photonengine.com/en/turnbased/current/getting-started/turnbased-intro
https://doc.photonengine.com/en/onpremise/current/reference/load-balancing


Chat API
----------------------------------------------------------------------------------------------------
Chat API allows to access Photon Chat service:
https://doc.photonengine.com/en/chat/current/getting-started/chat-intro


Documentation
----------------------------------------------------------------------------------------------------
The reference documentation is in this package. Follow links per API above for more documentation 
for Photon development.


Download
----------------------------------------------------------------------------------------------------
The latest version of Javascript SDK can be found at
https://www.photonengine.com/Realtime/Download


Contact
----------------------------------------------------------------------------------------------------
To get in touch with other Photon developers and our engineers, visit our Developer Forum:
http://forum.photonengine.com
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com


Package Contents
----------------------------------------------------------------------------------------------------
license.txt         - the license terms
install.txt         - installation info
readme.txt          - this readme text
release_history.txt - release history
/doc                - the Javascript API reference documentation
/lib                - the different versions of the lib
/src    
    /demo-loadbalancing     - basic Realtime application (Loadbalancing API) demo
    /demo-particle          - demo showing more of the Loadbalancing API's features
    /demo-pairs-mc          - Turnbased application demo
    /demo-chat-api          - demo showing Photon Chat API's features
    /Photon                 - library typescript source files
    PhotonWebsockets.sln    - Visual Studio solution file for samples typescript projects
                              (Typescript minimal version 1.0.0.0 required)
Expand Collapse
Linux SDK
Chat

Linux SDK

ReadMe


Photon Linux SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon Linux SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp            - Photon Chat sources
/Common-cpp          - common sources
/doc                 - Release history, API documentation
/LoadBalancing-cpp   - Loadbalancing specific sources
/Photon-cpp          - common Photon sources
/Demos

    /demo_basics:
	The demo client is basically a 'Hello World'. So it's the best place to start if you are new to the SDK.
	
	/demo_chat:
	The demo shows a basic way of using the Photon Chat API in a console.
	
	/demo_loadBalancing:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.
	
	/demo_particle:
	The demo client connects to a master server and shows the random matchmaking mechanism, how to create a room and how to send and receive events within a running game.
    Blocks are being moved automatically and the positions are updated in realtime between clients. This is a console application.
	
	/demo_typeSupport:
	This demo displays the proper use of Photon's serializable data types.


Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
Mac OS X SDK
Chat

Mac OS X SDK

ReadMe


Photon Mac OS X SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon Mac OS X SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp            - Photon Chat sources
/Chat-objc           - Photon Chat sources Objective-C
/Common-cpp          - common sources
/Common-objc         - common sources Objective-C
/doc                 - Release history, IPA documentation
/LoadBalancing-cpp   - Loadbalancing specific sources
/LoadBalancing-objc  - Loadbalancing specific sources Objective-C
/Photon-cpp          - common Photon sources
/Photon-objc         - common Photon sources Objective-C
/Demos
	
	/demo_basics:
	The demo client is basically a 'Hello World'. So it's the best place to start if you are new to the SDK. It is implemented in C++.
	
	/demo_chat:
    The demo shows a basic way of using the Photon Chat API within a console. It is implemented in C++.	
	
	/demo_loadBalancing:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game. It is implemented in C++.
	 
	/demo_loadBalancing_objc:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game. It is implemented in Objective-C.
	
	/demo_loadBalancing_swift:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game. It is implemented in Swift.
	
	/demo_particle:
	The demo client connects to a master server and shows the random matchmaking mechanism, how to create a room and how to send and receive events within a running game.
    Blocks are being moved automatically and the positions are updated in realtime between clients. This is a console application which is implemented in C++.
	
	/demo_typeSupport:
	This demo displays the proper use of Photon's serializable data types. It is implemented in C++.
	
	/demo_typeSupport_objc:
    This demo displays the proper use of Photon's serializable data types. It is implemented in Objective-C.
	

Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
Marmalade SDK
Chat

Marmalade SDK

ReadMe


Photon Marmalade SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon Marmalade SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

defines.txt
/Chat-cpp            - Photon Chat sources
/Common-cpp          - common sources
/doc                 - Release history, API documentation
/LoadBalancing-cpp   - Loadbalancing specific sources
/Photon-cpp          - common Photon sources
/Demos

    /demo_basics:
	The demo client is basically a 'Hello World'. So it's the best place to start if you are new to the SDK.
	
	/demo_chat:
	The demo shows a basic way of using the Photon Chat API with a graphical user interface. This uses the Cocos2D-x graphics engine.
	
    /demo_loadbalancing:
    The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.

	/demo_memory:
	This demo displays Photon's asynchronous turnbased features in a game of Memory. This uses the Cocos2D-x graphics engine.
	
	/demo_particle:
	The demo client connects to a master server and shows the random matchmaking mechanism, how to create a room and how to send and receive events within a running game.
    Players move 'their' blocks around and the positions are updated in realtime between clients. The UI shows areas of interest when activated. This uses the Cocos2D-x graphics engine.
	
	/demo_typeSupport:
    This demo displays the proper use of Photon's serializable data types.
	
	
Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
Construct 2 SDK
Chat

Construct 2 SDK

ReadMe

Photon SDK for Scirra Construct 2 readme.  
(C) Exit Games GmbH 2016

Overview 
----------------------------------------------------------------------------------------------------
Photon SDK contains Scirra Construct 2 plugins exposing underlying Photon Javascript library 
functionality:
- Photon Realtime Plugin allows to develop multiplayer games with clients communicating through 
  Photon Cloud or self-hosted Photon Server. 
  Follow https://www.photonengine.com/en/Realtime for info on Photon Realtime.
- Photon Chat Plugin adds chat functionality to your game.
  Follow https://www.photonengine.com/en/Chat for info on Photon Chat.

Installation
----------------------------------------------------------------------------------------------------
- Drag and drop photon.c2addon and photon-chat.c2addon files into the Construct 2 window. 
  See Construct 2 documentation on plugins installation details.
- Register a new realtime app at https://www.photonengine.com/en/Dashboard/Realtime 
- Register a new chat app at https://www.photonengine.com/en/Dashboard/Chat

Running demos
----------------------------------------------------------------------------------------------------
- Find Photon object in project tree and set its AppId property to application id value from dashboard.
- Select Main layout.
- Run the application. Editor will open browser page. Copy url and open it in new browser pages.
- Check browser console for helpful info.
- Pool demo: all clients automatically join single room, each spawns the fish and notifies others 
  with fish positions. Click on the pool makes owned fish move to the click location.
- Test demo: automatically joins or creates new room. Pressing Leave will bring the client to the lobby 
  where client can create new room or join existing from list. Also, test event firing is available 
  inside the room (check other clients log for events receive report).
- Chat demo: start 2 or more clients. For every client, choose user id and press Connect. 
  When client is connected to front end, enter channel names separated by comma and press Subscribe. 
  Select channel in list, enter message and press Publish. Or specify destination user id and send 
  private message by pressing Send.

Package Contents
----------------------------------------------------------------------------------------------------
- license.txt         - the license terms
- readme.txt          - this readme text
- release_history.txt - changelog
- photon.c2addon      - Photon Realtime Plugin
- photon-chat.c2addon - Photon Chat Plugin
- demo-test.capx      - application for testing Photon Realtime features
- demo-pool.capx      - Realtime demo application
- demo-chat.capx      - Chat demo application

Documentation
----------------------------------------------------------------------------------------------------
There is no Photon Construct 2 Plugin specific documentation or tutorials available currently.  
General documentation on Photon Realtime: http://doc.photonengine.com/en-us/realtime/current/getting-started/realtime-intro  
Photon Chat documentation: http://doc.photonengine.com/en-us/chat/current/getting-started/chat-intro  
Underlying Photon Javascript API reference: http://doc-api.photonengine.com/en/javascript/current  

Demos included in the package show clear how plugin works and may be used as tempaltes for real projects.  
Short descriptions available for each plugin item in editor.

Download
----------------------------------------------------------------------------------------------------
The latest version of Photon Plugin for Scirra Construct 2 can be found at
https://www.photonengine.com/Realtime/Download

Contact
----------------------------------------------------------------------------------------------------
To get in touch with other Photon developers and our engineers, visit our Developer Forum:
http://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com  



Expand Collapse
tvOS SDK
Chat

tvOS SDK

ReadMe


Photon tvOS SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon tvOS SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp                - Photon Chat sources
/Chat-objc               - Photon Chat sources Objective-C
/Common-cpp              - common sources
/Common-objc             - common sources Objective-C
/doc                     - Release history, API documentation
/LoadBalancing-cpp       - Loadbalancing specific sources
/LoadBalancing-objc      - Loadbalancing specific sources Objective-C
/Photon-cpp              - common Photon sources
/Photon-objc             - common Photon sources Objective-C

For demos please look into the iOS SDK: http://doc.photonengine.com/en/realtime/current/sdks-and-api/sdk-ios 


Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
Unity 3D SDK
Chat

Unity 3D SDK

The Photon Chat .NET SDK implements a lean chat framework, offering programmers detailed control. Alternatively, use the Photon Chat Unity package which integrates tightly with Unity's development approach.
Get the Photon Chat Unity package from here.

ReadMe


This is the readme for the Photon Client SDKs.
(C) Exit Games GmbH 2016



LoadBalancing Documentation
----------------------------------------------------------------------------------------------------
The API reference is included in this package as CHM file.
Find the current manuals, tutorials, API reference and more online:
http://doc.photonengine.com



Running the Demos
----------------------------------------------------------------------------------------------------
Our demos are built for the Photon Cloud for convenience (no initial server setup needed).
The service is free for development and signing up is instant and without obligation.

Every game title on the Cloud gets it's own AppId string which must be copied into the clients.
The demos use a property "AppId" in the source files. Set it's value before you build them.

Sign In:             https://www.photonengine.com/en/Account/SignIn
AppId in Dashboard:  https://www.photonengine.com/dashboard

Each application type has it's own AppId (e.g Realtime and Chat).
You will find specific sections of the Dashboard per application type.


Alternatively you can host a "Photon Cloud" yourself. The AppId is not used in that case.
Download the server SDK here:
https://www.photonengine.com/OnPremise/Download

How to start the server:
http://doc.photonengine.com/en/onpremise/current/getting-started/photon-server-in-5min




Chat Documentation
----------------------------------------------------------------------------------------------------
    http://doc.photonengine.com/en/chat
    http://forum.photonengine.com


Implementing Photon Chat
----------------------------------------------------------------------------------------------------
    Photon Chat is separated from other Photon Applications, so it needs it's own AppId.
    Our demos usually don't have an AppId set.
    In code, find "<your appid>" to copy yours in. In Unity, we usually use a component
    to set the AppId via the Inspector. Look for the "Scripts" GameObject in the scenes.

    Register your Chat Application in the Dashboard:
    https://www.photonengine.com/en/Chat/Dashboard

    The class ChatClient and the interface IChatClientListener wrap up most important parts
    of the Chat API. Please refer to their documentation on how to use this API.
    More documentation will follow.

    If you use Unity, copy the source from the ChatApi folder into your project.
    It should run in most cases (unless your Photon assembly is very old).




Unity Notes
----------------------------------------------------------------------------------------------------
If you don't use Unity, skip this chapter.


We assume you're using Unity 5.x. 
The demos are prepared to export for Standalone, not WSA or other.

The SDK contains a "PhotonAssets" folder. To import Photon into your project, copy it's content 
into your project's Asset folder. You may need to setup the DLLs in Unity 5 Inspector to export 
for your platform(s).


Currently supported export platforms are:
    Standalone (Windows, OSx and Linux)
    Web (Windows and MacOS)
    WebGL
    iOS         (Unity 4 needs iOS Pro Unity license)
    Android     (Unity 4 needs Android Pro Unity license)
    Windows Store 8.1 and 10    (including Phone and UWP with one library)
    PS3, PS4 and XBox           (certified developers should get in contact with us on demand)


All Unity projects must use ExitGames.Client.Photon.Hashtable!
This provides compatibility across all exports.
Add this to your code (at the beginning), to resolve the "ambiguous Hashtable" declaration:
using Hashtable = ExitGames.Client.Photon.Hashtable;


Web players do a policy-file request to port TCP 843 before they connect to a remote server.
The Photon Cloud and Server SDK will handle these requests.
If you host the server, open the additional "policy request" port: TCP 843. If you configure
your server applications, run "Policy Application" for webplayers.


How to add Photon to your Unity project:
1) The Unity SDK contains a "PhotonAssets" folder. 
   Copy the content of PhotonAssets\ into your project's Assets folder.
2) Make sure to have the following line of code in your scripts to make it run in background:
   Application.runInBackground = true; //without this Photon will loose connection if not focussed
3) Add "using Hashtable = ExitGames.Client.Photon.Hashtable;" to your scripts. Without quotation.
4) iOS build settings (Edit->Project Settings->Player)
   "iPhone Stripping Level" to "Strip Bytecode" and use
   "DotNet 2.0 Subset".
5) If you host Photon, change the server address in the client. A default of "localhost:5055" won't work on device.
6) Implement OnApplicationQuit() and disconnect the client when the app stops.



Windows Store Notes
----------------------------------------------------------------------------------------------------
To run demos on a smartphone or simulator, you need to setup your server's network address or
use the Photon Cloud.

We assume you run a Photon Server on the same development machine, so by default, our demos have a
address set to "127.0.0.1:5055" and use UDP.
Demos for LoadBalancing or the Cloud will be set to: "ns.exitgames.com:5055" and use UDP.

Search the code and replace those values to run the demos on your own servers or in a simulator.
The Peer.Connect() method is usually used to set the server's address.

A smartphone has it's own IP address, so 127.0.0.1 will contact the phone instead of the machine
that also runs Photon.



Expand Collapse
Windows SDK
Chat

Windows SDK

ReadMe


Photon Windows SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon Windows SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp              - Photon Chat sources
/Common-cpp            - common sources
/doc                   - Release history, API documentation
/LoadBalancing-cpp     - Loadbalancing specific sources
/Photon-cpp            - common Photon sources
/Demos
    
	/demo_basics:
	The demo client is basically a 'Hello World'. So it's the best place to start if you are new to the SDK.
	
	/demo_chat:
	The demo shows a basic way of using the Photon Chat API.
	
    /demo_loadbalancing:
    The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.

	/demo_memory:
	This demo displays Photon's asynchronous turnbased features in a game of Memory. This uses the Cocos2D-x graphics engine.
	
	/demo_particle:
	The demo client connects to a master server and shows the random matchmaking mechanism, how to create a room and how to send and receive events within a running game.
    Players move 'their' blocks around and the positions are updated in realtime between clients.
	
	/demo_typeSupport:
    This demo displays the proper use of Photon's serializable data types.
	

Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
Windows Store SDK
Chat

Windows Store SDK

ReadMe


Photon Windows Store SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon Windows Store SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp              - Photon Chat sources
/Common-cpp            - common sources
/doc                   - Release history, API documentation
/LoadBalancing-cpp     - Loadbalancing specific sources
/Photon-cpp            - common Photon sources
/Demos
	
	/demo_loadBalancing:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.
	
	
Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
Xamarin SDK
Chat

Xamarin SDK

ReadMe


This is the readme for the Photon Client SDKs.
(C) Exit Games GmbH 2014



Reference Documentation
----------------------------------------------------------------------------------------------------
The API reference is included in this package as CHM file.
Find the current API reference, manuals, tutorials and more online:
http://doc.exitgames.com



Running the Demos
----------------------------------------------------------------------------------------------------
Our demos are built for the Photon Cloud to reduce the effort to run them. No server setup needed.
The service is free for development and signing up takes less than 5 minutes.

Every game title on the Cloud gets it's own AppId string, which must be copied into the clients. 
The demos use a property "AppId" in the source files. Set it's value before you build them.

Sign Up:                https://cloud.exitgames.com
App ID in Dashboard:    https://cloud.exitgames.com/dashboard

The Application ID is per application type (Realtime, Turnbased, Chat)!
You will find specific sections of the Dashboard per application type.


Alternatively you can host a "Photon Cloud" yourself and use any AppId. This is what you need to do:
- Download the Photon Server SDK (it comes as 7zip file or self-extracting exe).
- Unpack-
- Execute PhotonControl.exe.
- Click "Game Server IP Config" and pick a suitable IP address (local network or public).
- This IP must be used in your game as (master) server address. Don't forget the port after ":".
- Click "Loadbalancing (MyCloud)" and "Start as Application".

How to start the server:
http://doc.exitgames.com/en/onpremise/current/getting-started/photon-server-in-5min

Download the server SDK here:
https://www.exitgames.com/OnPremise/Download




Unity3d Notes
----------------------------------------------------------------------------------------------------
If you don't use Unity3D, skip this chapter.

Currently supported export platforms are: 
    Standalone (Windows, OSx and Linux)
    Web (Windows and MacOS)
    iOS (needs iOS Pro Unity license)
    Android (needs Android Pro Unity license)
    Windows 8 Store and Phone
    PS3, PS4 and XBox (certified developers should get in contact with us on demand)

As of v3.2.1.6 all Unity projects must use ExitGames.Client.Photon.Hashtable!
This provides compatibility with Win 8 RT and Win 8 Phone exports.
Add this to your code (at the beginning), to resolve the "ambiguous Hashtable" declaration:
using Hashtable = ExitGames.Client.Photon.Hashtable;

Web players do a policy-file request to port TCP 843 before they connect to a remote server. 
The Photon Cloud and Server SDK will handle these requests.
If you host the server, open the additional "policy request" port: TCP 843. If you configure
your server applications, run "Policy Application" for webplayers.


How to add Photon to your Unity project:
1) Copy the Photon .dll into the "Assets\Plugins" folder of your project. Avoid dll duplicates!
2) Make sure to have the following line of code somewhere in your scripts, to run it in background:
   Application.runInBackground = true; //without this Photon will loose connection if not focussed
3) Add "using Hashtable = ExitGames.Client.Photon.Hashtable;" to your scripts. Without quotation.
4) iOS build settings (Edit->Project Settings->Player) 
   "iPhone Stripping Level" to "Strip Bytecode" and use 
   "DotNet 2.0 subset".
   If your project runs fine in IDE but fails on device, check the "DotNet 2.0 Subset" option!
5) Change the server address in the client. A default of "localhost:5055" won't work on device.
6) Implement OnApplicationQuit() and disconnect the client when the app stops.



Windows Phone Notes
----------------------------------------------------------------------------------------------------
To run demos on a smartphone or simulator, you need to setup your server's network address or 
use the Photon Cloud. 

We assume you run a Photon Server on the same development machine, so by default, our demos have a 
address set to "127.0.0.1:5055" and use UDP.
Demos for LoadBalancing or the Cloud will be set to: "app.exitgamescloud.com:5055" and use UDP.

Search the code and replace those values to run the demos on your own servers or in a simulator.
The Peer.Connect() method is usually used to set the server's address.

A smartphone has it's own IP address, so 127.0.0.1 will contact the phone instead of the machine 
that also runs Photon.



Xamarin Notes
----------------------------------------------------------------------------------------------------
Edit MainActivity.cs with your own AppId (approx. line 33). Read "Running Loadbalancing Demos".
Alternatively change the ServerAddress to a Photon Server you are hosting. Don't forget the ":port".

Our library dlls are fully Xamarin.iOS, Xamarin.Android and Xamarin.mac compatible, 
but the projects to build them are not. So you can't reference the LoadBalancingApi project 
directly.
Instead, we reference the dlls to minimize the number of projects to maintain and potential for 
desaster.

The demo particle links directly to some of the source files of demo-particle-logic for similar 
reasons.

Let us know if our workflow doesn't work for you.




Playstation Mobile Notes
----------------------------------------------------------------------------------------------------
The demo by default connects to the EU Photon Cloud servers. You only need to register to run your 
own application (game) on it. This gives you the AppId which must be inserted into:
demo-particle-psm\AppMain.cs
Expand Collapse
Cocos2d-x SDKs
Chat

Cocos2d-x SDKs

All C++ based Photon SDKs are compatible with Cocos2d-x off the shelf! Find the SDKs you can gear it up with linked to below.

iOS , Android , Windows , Marmalade

Unreal Engine SDKs
Chat

Unreal Engine SDKs

All C++ based Photon SDKs are compatible with the UNREAL ENGINE off the shelf! Find the SDKs you can gear it up with linked to below.

Android , iOS , Linux , Mac OS X , Switch , tvOS , Windows , Xbox One

Doc
Get setup instructions in the Photon Unreal Engine SDK doc.
PlayFab SDK
Chat
V-Play SDK
Chat
UNITY Package
Chat

Photon Chat Unity Assets Made for UNITY

Photon Chat FREE package is the easiest way to add a chat to your game in Unity within minutes. Its flexible channel system allows to integrate any number of chat channels to your game e.g. a global chat, multiple regional chats and a clan-based chat in parallel. Alternatively, use the Photon Chat .NET SDK. The client SDK offers programmers detailed control.
Get the Photon Chat .NET SDK from here.

Photon Chat
Get CHAT FREE
You do not need multiplayer, but a chat? Add it easily with Photon Chat Free.
This asset is included in PUN Free and PUN Plus, please do not use with either.

Doc
Chat Documentation

Chat UI
Get Chat UI
Add a powerful, but simple to setup chat system to your app. Features tabbed channels, floating windows, emoticons, private messaging, etc. Coding is not required. All source code is included, all UI elements and artwork can be changed to fit your style.

UNITY Package
Voice

Photon Voice Made for UNITY

Photon Voice UNITY Asset
Get VOICE FREE
Add massive live Voice Chat to your Unity Multiplayer Games. Photon Voice is the ideal add-on to any application using voice chat to communicate between players.

Doc
Voice Documentation

Android SDK
On-Premises

Android SDK

ReadMe


Photon Android NDK SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform - Fast, reliable, scalable.

Use the Photon Android NDK SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/doc                 - Release history, API documentation
/Chat-cpp            - Photon Chat sources
/Common-cpp          - common sources
/LoadBalancing-cpp   - Loadbalancing specific sources
/Photon-cpp          - common Photon sources
/Demos
    
	/demo_basics:
	The demo client is basically a 'Hello World'. So it's the best place to start if you are new to the SDK.
	
	/demo_chat:
	The demo shows a basic way of using the Photon Chat API with a graphical user interface. This uses the Cocos2D-x graphics engine.
	
    /demo_loadbalancing:
    The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.

	/demo_memory:
	This demo displays Photon's asynchronous turnbased features in a game of Memory. This uses the Cocos2D-x graphics engine.
	
	/demo_particle:
	The demo client connects to a master server and shows the random matchmaking mechanism, how to create a room and how to send and receive events within a running game.
    Players move 'their' blocks around and the positions are updated in realtime between clients. The UI shows areas of interest when activated. This uses the Cocos2D-x graphics engine.
	
	/demo_typeSupport:
    This demo displays the proper use of Photon's serializable data types.
	

Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.



Expand Collapse
Corona SDK
On-Premises

Corona SDK

ReadMe


Photon Corona SDK
------------------------------------------

The Photon Lua library provides a simple to use framework to access the Photon Server
and the Photon Cloud from Lua scripts. 
Cross platform communication is possible, so Lua clients can send events to DotNet or
native clients. This might require some adjustments on other platforms. This is shown 
by the "Particle" demo.

The LoadBalancing API is compatible with the Photon Cloud and servers you host yourself, 
using the Photon Server SDK.

Find the latest Photon downloads at https://www.photonengine.com/en-us/realtime/download

The reference documentation is in this package.
More documentation for Photon development is available at http://doc.photonengine.com/.


Package Contents
------------------------------------------

license.txt           - the license terms
install.txt           - installation info
readme.txt            - this readme text
release_history.txt   - release history
doc                  - the Lua API reference documentation
lib                  - library
src/demo-console/autochat.lua                  - console automatic chat test using Lite
src/demo-console/autochat-lb.lua               - console automatic chat test using Cloud suport
src/demo-helloworld-cloud/main.lua             - Corona simple test using Lite
src/demo-particle/main.lua                     - Corona demo showing more of the API's features (Cloud, cross platform)
src/demo-particle/console.lua                  - console variant of particle demo
src/demo-memory/main.lua                       - Corona demo showing Photon Turnbased features
src/demo-chat/main.lua                         - Corona demo showing Photon Chat API's features

	
	
Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
.NET SDK
On-Premises

.NET SDK

ReadMe


This is the readme for the Photon Client SDKs.
(C) Exit Games GmbH 2016



LoadBalancing Documentation
----------------------------------------------------------------------------------------------------
The API reference is included in this package as CHM file.
Find the current manuals, tutorials, API reference and more online:
http://doc.photonengine.com



Running the Demos
----------------------------------------------------------------------------------------------------
Our demos are built for the Photon Cloud for convenience (no initial server setup needed).
The service is free for development and signing up is instant and without obligation.

Every game title on the Cloud gets it's own AppId string which must be copied into the clients.
The demos use a property "AppId" in the source files. Set it's value before you build them.

Sign In:             https://www.photonengine.com/en/Account/SignIn
AppId in Dashboard:  https://www.photonengine.com/dashboard

Each application type has it's own AppId (e.g Realtime and Chat).
You will find specific sections of the Dashboard per application type.


Alternatively you can host a "Photon Cloud" yourself. The AppId is not used in that case.
Download the server SDK here:
https://www.photonengine.com/OnPremise/Download

How to start the server:
http://doc.photonengine.com/en/onpremise/current/getting-started/photon-server-in-5min




Chat Documentation
----------------------------------------------------------------------------------------------------
    http://doc.photonengine.com/en/chat
    http://forum.photonengine.com


Implementing Photon Chat
----------------------------------------------------------------------------------------------------
    Photon Chat is separated from other Photon Applications, so it needs it's own AppId.
    Our demos usually don't have an AppId set.
    In code, find "<your appid>" to copy yours in. In Unity, we usually use a component
    to set the AppId via the Inspector. Look for the "Scripts" GameObject in the scenes.

    Register your Chat Application in the Dashboard:
    https://www.photonengine.com/en/Chat/Dashboard

    The class ChatClient and the interface IChatClientListener wrap up most important parts
    of the Chat API. Please refer to their documentation on how to use this API.
    More documentation will follow.

    If you use Unity, copy the source from the ChatApi folder into your project.
    It should run in most cases (unless your Photon assembly is very old).




Unity Notes
----------------------------------------------------------------------------------------------------
If you don't use Unity, skip this chapter.


We assume you're using Unity 5.x. 
The demos are prepared to export for Standalone, not WSA or other.

The SDK contains a "PhotonAssets" folder. To import Photon into your project, copy it's content 
into your project's Asset folder. You may need to setup the DLLs in Unity 5 Inspector to export 
for your platform(s).


Currently supported export platforms are:
    Standalone (Windows, OSx and Linux)
    Web (Windows and MacOS)
    WebGL
    iOS         (Unity 4 needs iOS Pro Unity license)
    Android     (Unity 4 needs Android Pro Unity license)
    Windows Store 8.1 and 10    (including Phone and UWP with one library)
    PS3, PS4 and XBox           (certified developers should get in contact with us on demand)


All Unity projects must use ExitGames.Client.Photon.Hashtable!
This provides compatibility across all exports.
Add this to your code (at the beginning), to resolve the "ambiguous Hashtable" declaration:
using Hashtable = ExitGames.Client.Photon.Hashtable;


Web players do a policy-file request to port TCP 843 before they connect to a remote server.
The Photon Cloud and Server SDK will handle these requests.
If you host the server, open the additional "policy request" port: TCP 843. If you configure
your server applications, run "Policy Application" for webplayers.


How to add Photon to your Unity project:
1) The Unity SDK contains a "PhotonAssets" folder. 
   Copy the content of PhotonAssets\ into your project's Assets folder.
2) Make sure to have the following line of code in your scripts to make it run in background:
   Application.runInBackground = true; //without this Photon will loose connection if not focussed
3) Add "using Hashtable = ExitGames.Client.Photon.Hashtable;" to your scripts. Without quotation.
4) iOS build settings (Edit->Project Settings->Player)
   "iPhone Stripping Level" to "Strip Bytecode" and use
   "DotNet 2.0 Subset".
5) If you host Photon, change the server address in the client. A default of "localhost:5055" won't work on device.
6) Implement OnApplicationQuit() and disconnect the client when the app stops.



Windows Store Notes
----------------------------------------------------------------------------------------------------
To run demos on a smartphone or simulator, you need to setup your server's network address or
use the Photon Cloud.

We assume you run a Photon Server on the same development machine, so by default, our demos have a
address set to "127.0.0.1:5055" and use UDP.
Demos for LoadBalancing or the Cloud will be set to: "ns.exitgames.com:5055" and use UDP.

Search the code and replace those values to run the demos on your own servers or in a simulator.
The Peer.Connect() method is usually used to set the server's address.

A smartphone has it's own IP address, so 127.0.0.1 will contact the phone instead of the machine
that also runs Photon.



Expand Collapse
Emscripten SDK
On-Premises

Emscripten SDK

ReadMe


Photon Emscripten SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon Emscripten SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Common-cpp          - common sources
/doc                 - Release history, API documentation
/LoadBalancing-cpp   - Loadbalancing specific sources
/Photon-cpp          - common Photon sources
/Demos

    /demo_loadbalancing:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.
	
	/shared:
    This folder holds all applications used by various demos.
	
	
Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
iOS SDK
On-Premises

iOS SDK

ReadMe


Photon iOS SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon iOS SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp            - Photon Chat sources
/Chat-objc           - Photon Chat sources Objective-C
/Common-cpp          - common sources
/Common-objc         - common sources Objective-C
/doc                 - Release history, API documentation
/LoadBalancing-cpp   - Loadbalancing specific sources
/LoadBalancing-objc  - Loadbalancing specific sources Objective-C
/Photon-cpp          - common Photon sources
/Photon-objc         - common Photon sources Objective-C
/Demos

    /demo_basics:
	The demo client is basically a 'Hello World'. So it's the best place to start if you are new to the SDK. It is implemented in C++.
	
	/demo_chat:
	The demo shows a basic way of using the Photon Chat API with a graphical user interface. This uses the Cocos2D-x graphics engine and is implemented in C++.
	
	/demo_chat_objc:
	The demo shows a basic way of using the Photon Chat API within a console. It is implemented in Objective-C.
	
	/demo_iPhone_realtime_objc:
	The demo client connects to a Photon Server running the Lite application and and shows how to create a room and how to send and receive events within a running game.
    Players move 'their' blocks around and the positions are updated in realtime between clients. It uses the Cocos2D-iPhone graphics engine and is implemented in Objective-C.
	
	/demo_loadBalancing:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game. It is implemented in C++.
	 
	/demo_loadBalancing_objc:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game. It is implemented in Objective-C.
	
	/demo_loadBalancing_swift:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game. It is implemented in Swift.
	
	/demo_memory:
	This demo displays Photon's asynchronous turnbased features in a game of Memory. This uses the Cocos2D-x graphics engine. It is implemented in C++.
	
	/demo_particle:
	The demo client connects to a master server and shows the random matchmaking mechanism, how to create a room and how to send and receive events within a running game.
    Players move 'their' blocks around and the positions are updated in realtime between clients. The UI shows areas of interest when activated. This uses the Cocos2D-x graphics engine.
	It is implemented in C++.
	
	/demo_typeSupport:
	This demo displays the proper use of Photon's serializable data types. It is implemented in C++.
	
	/demo_typeSupport_objc:
    This demo displays the proper use of Photon's serializable data types. It is implemented in Objective-C.
	

Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
JavaScript SDK
On-Premises

JavaScript SDK

ReadMe

Photon Client Javascript SDK readme.
(C) Exit Games GmbH 2016


Overview 
----------------------------------------------------------------------------------------------------
The Photon Javascript library provides a simple to use framework to access the Photon Server
and the Photon Cloud. It works on many up to date browsers using either native WebSocket or 
a Flash plugin.
Cross platform communication is possible, so Javascript clients can send events to DotNet 
or native clients. This might require some adjustments on other platforms. This is shown by the 
"Particle" demo. The SDK supports 2 APIs.


LoadBalancing API (Realtime and Turnbased)
----------------------------------------------------------------------------------------------------
LoadBalancing API allows to access Photon Cloud Realtime and Turnbased services as well as 
Photon Server LoadBalancing Application:
https://doc.photonengine.com/en/realtime/current/getting-started/realtime-intro
https://doc.photonengine.com/en/turnbased/current/getting-started/turnbased-intro
https://doc.photonengine.com/en/onpremise/current/reference/load-balancing


Chat API
----------------------------------------------------------------------------------------------------
Chat API allows to access Photon Chat service:
https://doc.photonengine.com/en/chat/current/getting-started/chat-intro


Documentation
----------------------------------------------------------------------------------------------------
The reference documentation is in this package. Follow links per API above for more documentation 
for Photon development.


Download
----------------------------------------------------------------------------------------------------
The latest version of Javascript SDK can be found at
https://www.photonengine.com/Realtime/Download


Contact
----------------------------------------------------------------------------------------------------
To get in touch with other Photon developers and our engineers, visit our Developer Forum:
http://forum.photonengine.com
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com


Package Contents
----------------------------------------------------------------------------------------------------
license.txt         - the license terms
install.txt         - installation info
readme.txt          - this readme text
release_history.txt - release history
/doc                - the Javascript API reference documentation
/lib                - the different versions of the lib
/src    
    /demo-loadbalancing     - basic Realtime application (Loadbalancing API) demo
    /demo-particle          - demo showing more of the Loadbalancing API's features
    /demo-pairs-mc          - Turnbased application demo
    /demo-chat-api          - demo showing Photon Chat API's features
    /Photon                 - library typescript source files
    PhotonWebsockets.sln    - Visual Studio solution file for samples typescript projects
                              (Typescript minimal version 1.0.0.0 required)
Expand Collapse
Linux SDK
On-Premises

Linux SDK

ReadMe


Photon Linux SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon Linux SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp            - Photon Chat sources
/Common-cpp          - common sources
/doc                 - Release history, API documentation
/LoadBalancing-cpp   - Loadbalancing specific sources
/Photon-cpp          - common Photon sources
/Demos

    /demo_basics:
	The demo client is basically a 'Hello World'. So it's the best place to start if you are new to the SDK.
	
	/demo_chat:
	The demo shows a basic way of using the Photon Chat API in a console.
	
	/demo_loadBalancing:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.
	
	/demo_particle:
	The demo client connects to a master server and shows the random matchmaking mechanism, how to create a room and how to send and receive events within a running game.
    Blocks are being moved automatically and the positions are updated in realtime between clients. This is a console application.
	
	/demo_typeSupport:
	This demo displays the proper use of Photon's serializable data types.


Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
Mac OS X SDK
On-Premises

Mac OS X SDK

ReadMe


Photon Mac OS X SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon Mac OS X SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp            - Photon Chat sources
/Chat-objc           - Photon Chat sources Objective-C
/Common-cpp          - common sources
/Common-objc         - common sources Objective-C
/doc                 - Release history, IPA documentation
/LoadBalancing-cpp   - Loadbalancing specific sources
/LoadBalancing-objc  - Loadbalancing specific sources Objective-C
/Photon-cpp          - common Photon sources
/Photon-objc         - common Photon sources Objective-C
/Demos
	
	/demo_basics:
	The demo client is basically a 'Hello World'. So it's the best place to start if you are new to the SDK. It is implemented in C++.
	
	/demo_chat:
    The demo shows a basic way of using the Photon Chat API within a console. It is implemented in C++.	
	
	/demo_loadBalancing:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game. It is implemented in C++.
	 
	/demo_loadBalancing_objc:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game. It is implemented in Objective-C.
	
	/demo_loadBalancing_swift:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game. It is implemented in Swift.
	
	/demo_particle:
	The demo client connects to a master server and shows the random matchmaking mechanism, how to create a room and how to send and receive events within a running game.
    Blocks are being moved automatically and the positions are updated in realtime between clients. This is a console application which is implemented in C++.
	
	/demo_typeSupport:
	This demo displays the proper use of Photon's serializable data types. It is implemented in C++.
	
	/demo_typeSupport_objc:
    This demo displays the proper use of Photon's serializable data types. It is implemented in Objective-C.
	

Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
Marmalade SDK
On-Premises

Marmalade SDK

ReadMe


Photon Marmalade SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon Marmalade SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

defines.txt
/Chat-cpp            - Photon Chat sources
/Common-cpp          - common sources
/doc                 - Release history, API documentation
/LoadBalancing-cpp   - Loadbalancing specific sources
/Photon-cpp          - common Photon sources
/Demos

    /demo_basics:
	The demo client is basically a 'Hello World'. So it's the best place to start if you are new to the SDK.
	
	/demo_chat:
	The demo shows a basic way of using the Photon Chat API with a graphical user interface. This uses the Cocos2D-x graphics engine.
	
    /demo_loadbalancing:
    The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.

	/demo_memory:
	This demo displays Photon's asynchronous turnbased features in a game of Memory. This uses the Cocos2D-x graphics engine.
	
	/demo_particle:
	The demo client connects to a master server and shows the random matchmaking mechanism, how to create a room and how to send and receive events within a running game.
    Players move 'their' blocks around and the positions are updated in realtime between clients. The UI shows areas of interest when activated. This uses the Cocos2D-x graphics engine.
	
	/demo_typeSupport:
    This demo displays the proper use of Photon's serializable data types.
	
	
Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
Playstation 4 SDK
On-Premises

Playstation 4 SDK

ReadMe


Photon PS4 SDK
------------------------------------------

Please contact the console producer on additional setup information or required authorization.

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp              - Photon Chat sources
/Common-cpp            - common sources
/doc                   - Release history, API documentation
/LoadBalancing-cpp     - Loadbalancing specific sources
/Photon-cpp            - common Photon sources
/Demos

	/demo_chat:
	The demo shows a basic way of using the Photon Chat API.

	/demo_loadbalancing:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.

	/demo_particle:
	The demo client connects to a master server and shows the random matchmaking mechanism, how to create a room and how to send and receive events within a running game.
	Players move 'their' blocks around and the positions are updated in realtime between clients.


Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
PS Vita SDK
On-Premises

PS Vita SDK

ReadMe


Photon PSVita SDK
------------------------------------------

Please contact the console producer on additional setup information or required authorization.

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp              - Photon Chat sources
/Common-cpp            - common sources
/doc                   - Release history, API documentation
/LoadBalancing-cpp     - Loadbalancing specific sources
/Photon-cpp            - common Photon sources
/Demos

	/demo_loadbalancing:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.


Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
Construct 2 SDK
On-Premises

Construct 2 SDK

ReadMe

Photon SDK for Scirra Construct 2 readme.  
(C) Exit Games GmbH 2016

Overview 
----------------------------------------------------------------------------------------------------
Photon SDK contains Scirra Construct 2 plugins exposing underlying Photon Javascript library 
functionality:
- Photon Realtime Plugin allows to develop multiplayer games with clients communicating through 
  Photon Cloud or self-hosted Photon Server. 
  Follow https://www.photonengine.com/en/Realtime for info on Photon Realtime.
- Photon Chat Plugin adds chat functionality to your game.
  Follow https://www.photonengine.com/en/Chat for info on Photon Chat.

Installation
----------------------------------------------------------------------------------------------------
- Drag and drop photon.c2addon and photon-chat.c2addon files into the Construct 2 window. 
  See Construct 2 documentation on plugins installation details.
- Register a new realtime app at https://www.photonengine.com/en/Dashboard/Realtime 
- Register a new chat app at https://www.photonengine.com/en/Dashboard/Chat

Running demos
----------------------------------------------------------------------------------------------------
- Find Photon object in project tree and set its AppId property to application id value from dashboard.
- Select Main layout.
- Run the application. Editor will open browser page. Copy url and open it in new browser pages.
- Check browser console for helpful info.
- Pool demo: all clients automatically join single room, each spawns the fish and notifies others 
  with fish positions. Click on the pool makes owned fish move to the click location.
- Test demo: automatically joins or creates new room. Pressing Leave will bring the client to the lobby 
  where client can create new room or join existing from list. Also, test event firing is available 
  inside the room (check other clients log for events receive report).
- Chat demo: start 2 or more clients. For every client, choose user id and press Connect. 
  When client is connected to front end, enter channel names separated by comma and press Subscribe. 
  Select channel in list, enter message and press Publish. Or specify destination user id and send 
  private message by pressing Send.

Package Contents
----------------------------------------------------------------------------------------------------
- license.txt         - the license terms
- readme.txt          - this readme text
- release_history.txt - changelog
- photon.c2addon      - Photon Realtime Plugin
- photon-chat.c2addon - Photon Chat Plugin
- demo-test.capx      - application for testing Photon Realtime features
- demo-pool.capx      - Realtime demo application
- demo-chat.capx      - Chat demo application

Documentation
----------------------------------------------------------------------------------------------------
There is no Photon Construct 2 Plugin specific documentation or tutorials available currently.  
General documentation on Photon Realtime: http://doc.photonengine.com/en-us/realtime/current/getting-started/realtime-intro  
Photon Chat documentation: http://doc.photonengine.com/en-us/chat/current/getting-started/chat-intro  
Underlying Photon Javascript API reference: http://doc-api.photonengine.com/en/javascript/current  

Demos included in the package show clear how plugin works and may be used as tempaltes for real projects.  
Short descriptions available for each plugin item in editor.

Download
----------------------------------------------------------------------------------------------------
The latest version of Photon Plugin for Scirra Construct 2 can be found at
https://www.photonengine.com/Realtime/Download

Contact
----------------------------------------------------------------------------------------------------
To get in touch with other Photon developers and our engineers, visit our Developer Forum:
http://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com  



Expand Collapse
Switch SDK
On-Premises

Switch SDK

ReadMe


Photon Switch SDK
------------------------------------------

Please contact the console producer on additional setup information or required authorization.

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp              - Photon Chat sources
/Common-cpp            - common sources
/doc                   - Release history, API documentation
/LoadBalancing-cpp     - Loadbalancing specific sources
/Photon-cpp            - common Photon sources
/Demos

	/demo_loadbalancing:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.


Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
tvOS SDK
On-Premises

tvOS SDK

ReadMe


Photon tvOS SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon tvOS SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp                - Photon Chat sources
/Chat-objc               - Photon Chat sources Objective-C
/Common-cpp              - common sources
/Common-objc             - common sources Objective-C
/doc                     - Release history, API documentation
/LoadBalancing-cpp       - Loadbalancing specific sources
/LoadBalancing-objc      - Loadbalancing specific sources Objective-C
/Photon-cpp              - common Photon sources
/Photon-objc             - common Photon sources Objective-C

For demos please look into the iOS SDK: http://doc.photonengine.com/en/realtime/current/sdks-and-api/sdk-ios 


Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
Unity 3D SDK
On-Premises

Unity 3D SDK

ReadMe


This is the readme for the Photon Client SDKs.
(C) Exit Games GmbH 2016



LoadBalancing Documentation
----------------------------------------------------------------------------------------------------
The API reference is included in this package as CHM file.
Find the current manuals, tutorials, API reference and more online:
http://doc.photonengine.com



Running the Demos
----------------------------------------------------------------------------------------------------
Our demos are built for the Photon Cloud for convenience (no initial server setup needed).
The service is free for development and signing up is instant and without obligation.

Every game title on the Cloud gets it's own AppId string which must be copied into the clients.
The demos use a property "AppId" in the source files. Set it's value before you build them.

Sign In:             https://www.photonengine.com/en/Account/SignIn
AppId in Dashboard:  https://www.photonengine.com/dashboard

Each application type has it's own AppId (e.g Realtime and Chat).
You will find specific sections of the Dashboard per application type.


Alternatively you can host a "Photon Cloud" yourself. The AppId is not used in that case.
Download the server SDK here:
https://www.photonengine.com/OnPremise/Download

How to start the server:
http://doc.photonengine.com/en/onpremise/current/getting-started/photon-server-in-5min




Chat Documentation
----------------------------------------------------------------------------------------------------
    http://doc.photonengine.com/en/chat
    http://forum.photonengine.com


Implementing Photon Chat
----------------------------------------------------------------------------------------------------
    Photon Chat is separated from other Photon Applications, so it needs it's own AppId.
    Our demos usually don't have an AppId set.
    In code, find "<your appid>" to copy yours in. In Unity, we usually use a component
    to set the AppId via the Inspector. Look for the "Scripts" GameObject in the scenes.

    Register your Chat Application in the Dashboard:
    https://www.photonengine.com/en/Chat/Dashboard

    The class ChatClient and the interface IChatClientListener wrap up most important parts
    of the Chat API. Please refer to their documentation on how to use this API.
    More documentation will follow.

    If you use Unity, copy the source from the ChatApi folder into your project.
    It should run in most cases (unless your Photon assembly is very old).




Unity Notes
----------------------------------------------------------------------------------------------------
If you don't use Unity, skip this chapter.


We assume you're using Unity 5.x. 
The demos are prepared to export for Standalone, not WSA or other.

The SDK contains a "PhotonAssets" folder. To import Photon into your project, copy it's content 
into your project's Asset folder. You may need to setup the DLLs in Unity 5 Inspector to export 
for your platform(s).


Currently supported export platforms are:
    Standalone (Windows, OSx and Linux)
    Web (Windows and MacOS)
    WebGL
    iOS         (Unity 4 needs iOS Pro Unity license)
    Android     (Unity 4 needs Android Pro Unity license)
    Windows Store 8.1 and 10    (including Phone and UWP with one library)
    PS3, PS4 and XBox           (certified developers should get in contact with us on demand)


All Unity projects must use ExitGames.Client.Photon.Hashtable!
This provides compatibility across all exports.
Add this to your code (at the beginning), to resolve the "ambiguous Hashtable" declaration:
using Hashtable = ExitGames.Client.Photon.Hashtable;


Web players do a policy-file request to port TCP 843 before they connect to a remote server.
The Photon Cloud and Server SDK will handle these requests.
If you host the server, open the additional "policy request" port: TCP 843. If you configure
your server applications, run "Policy Application" for webplayers.


How to add Photon to your Unity project:
1) The Unity SDK contains a "PhotonAssets" folder. 
   Copy the content of PhotonAssets\ into your project's Assets folder.
2) Make sure to have the following line of code in your scripts to make it run in background:
   Application.runInBackground = true; //without this Photon will loose connection if not focussed
3) Add "using Hashtable = ExitGames.Client.Photon.Hashtable;" to your scripts. Without quotation.
4) iOS build settings (Edit->Project Settings->Player)
   "iPhone Stripping Level" to "Strip Bytecode" and use
   "DotNet 2.0 Subset".
5) If you host Photon, change the server address in the client. A default of "localhost:5055" won't work on device.
6) Implement OnApplicationQuit() and disconnect the client when the app stops.



Windows Store Notes
----------------------------------------------------------------------------------------------------
To run demos on a smartphone or simulator, you need to setup your server's network address or
use the Photon Cloud.

We assume you run a Photon Server on the same development machine, so by default, our demos have a
address set to "127.0.0.1:5055" and use UDP.
Demos for LoadBalancing or the Cloud will be set to: "ns.exitgames.com:5055" and use UDP.

Search the code and replace those values to run the demos on your own servers or in a simulator.
The Peer.Connect() method is usually used to set the server's address.

A smartphone has it's own IP address, so 127.0.0.1 will contact the phone instead of the machine
that also runs Photon.



Expand Collapse
Windows SDK
On-Premises

Windows SDK

ReadMe


Photon Windows SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon Windows SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp              - Photon Chat sources
/Common-cpp            - common sources
/doc                   - Release history, API documentation
/LoadBalancing-cpp     - Loadbalancing specific sources
/Photon-cpp            - common Photon sources
/Demos
    
	/demo_basics:
	The demo client is basically a 'Hello World'. So it's the best place to start if you are new to the SDK.
	
	/demo_chat:
	The demo shows a basic way of using the Photon Chat API.
	
    /demo_loadbalancing:
    The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.

	/demo_memory:
	This demo displays Photon's asynchronous turnbased features in a game of Memory. This uses the Cocos2D-x graphics engine.
	
	/demo_particle:
	The demo client connects to a master server and shows the random matchmaking mechanism, how to create a room and how to send and receive events within a running game.
    Players move 'their' blocks around and the positions are updated in realtime between clients.
	
	/demo_typeSupport:
    This demo displays the proper use of Photon's serializable data types.
	

Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
Windows Store SDK
On-Premises

Windows Store SDK

ReadMe


Photon Windows Store SDK
------------------------------------------

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon Windows Store SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp              - Photon Chat sources
/Common-cpp            - common sources
/doc                   - Release history, API documentation
/LoadBalancing-cpp     - Loadbalancing specific sources
/Photon-cpp            - common Photon sources
/Demos
	
	/demo_loadBalancing:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.
	
	
Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
Xamarin SDK
On-Premises

Xamarin SDK

ReadMe


This is the readme for the Photon Client SDKs.
(C) Exit Games GmbH 2014



Reference Documentation
----------------------------------------------------------------------------------------------------
The API reference is included in this package as CHM file.
Find the current API reference, manuals, tutorials and more online:
http://doc.exitgames.com



Running the Demos
----------------------------------------------------------------------------------------------------
Our demos are built for the Photon Cloud to reduce the effort to run them. No server setup needed.
The service is free for development and signing up takes less than 5 minutes.

Every game title on the Cloud gets it's own AppId string, which must be copied into the clients. 
The demos use a property "AppId" in the source files. Set it's value before you build them.

Sign Up:                https://cloud.exitgames.com
App ID in Dashboard:    https://cloud.exitgames.com/dashboard

The Application ID is per application type (Realtime, Turnbased, Chat)!
You will find specific sections of the Dashboard per application type.


Alternatively you can host a "Photon Cloud" yourself and use any AppId. This is what you need to do:
- Download the Photon Server SDK (it comes as 7zip file or self-extracting exe).
- Unpack-
- Execute PhotonControl.exe.
- Click "Game Server IP Config" and pick a suitable IP address (local network or public).
- This IP must be used in your game as (master) server address. Don't forget the port after ":".
- Click "Loadbalancing (MyCloud)" and "Start as Application".

How to start the server:
http://doc.exitgames.com/en/onpremise/current/getting-started/photon-server-in-5min

Download the server SDK here:
https://www.exitgames.com/OnPremise/Download




Unity3d Notes
----------------------------------------------------------------------------------------------------
If you don't use Unity3D, skip this chapter.

Currently supported export platforms are: 
    Standalone (Windows, OSx and Linux)
    Web (Windows and MacOS)
    iOS (needs iOS Pro Unity license)
    Android (needs Android Pro Unity license)
    Windows 8 Store and Phone
    PS3, PS4 and XBox (certified developers should get in contact with us on demand)

As of v3.2.1.6 all Unity projects must use ExitGames.Client.Photon.Hashtable!
This provides compatibility with Win 8 RT and Win 8 Phone exports.
Add this to your code (at the beginning), to resolve the "ambiguous Hashtable" declaration:
using Hashtable = ExitGames.Client.Photon.Hashtable;

Web players do a policy-file request to port TCP 843 before they connect to a remote server. 
The Photon Cloud and Server SDK will handle these requests.
If you host the server, open the additional "policy request" port: TCP 843. If you configure
your server applications, run "Policy Application" for webplayers.


How to add Photon to your Unity project:
1) Copy the Photon .dll into the "Assets\Plugins" folder of your project. Avoid dll duplicates!
2) Make sure to have the following line of code somewhere in your scripts, to run it in background:
   Application.runInBackground = true; //without this Photon will loose connection if not focussed
3) Add "using Hashtable = ExitGames.Client.Photon.Hashtable;" to your scripts. Without quotation.
4) iOS build settings (Edit->Project Settings->Player) 
   "iPhone Stripping Level" to "Strip Bytecode" and use 
   "DotNet 2.0 subset".
   If your project runs fine in IDE but fails on device, check the "DotNet 2.0 Subset" option!
5) Change the server address in the client. A default of "localhost:5055" won't work on device.
6) Implement OnApplicationQuit() and disconnect the client when the app stops.



Windows Phone Notes
----------------------------------------------------------------------------------------------------
To run demos on a smartphone or simulator, you need to setup your server's network address or 
use the Photon Cloud. 

We assume you run a Photon Server on the same development machine, so by default, our demos have a 
address set to "127.0.0.1:5055" and use UDP.
Demos for LoadBalancing or the Cloud will be set to: "app.exitgamescloud.com:5055" and use UDP.

Search the code and replace those values to run the demos on your own servers or in a simulator.
The Peer.Connect() method is usually used to set the server's address.

A smartphone has it's own IP address, so 127.0.0.1 will contact the phone instead of the machine 
that also runs Photon.



Xamarin Notes
----------------------------------------------------------------------------------------------------
Edit MainActivity.cs with your own AppId (approx. line 33). Read "Running Loadbalancing Demos".
Alternatively change the ServerAddress to a Photon Server you are hosting. Don't forget the ":port".

Our library dlls are fully Xamarin.iOS, Xamarin.Android and Xamarin.mac compatible, 
but the projects to build them are not. So you can't reference the LoadBalancingApi project 
directly.
Instead, we reference the dlls to minimize the number of projects to maintain and potential for 
desaster.

The demo particle links directly to some of the source files of demo-particle-logic for similar 
reasons.

Let us know if our workflow doesn't work for you.




Playstation Mobile Notes
----------------------------------------------------------------------------------------------------
The demo by default connects to the EU Photon Cloud servers. You only need to register to run your 
own application (game) on it. This gives you the AppId which must be inserted into:
demo-particle-psm\AppMain.cs
Expand Collapse
Xbox One SDK
On-Premises

Xbox One SDK

ReadMe


Photon XB1 SDK
------------------------------------------

Please contact the console producer on additional setup information or required authorization.

Photon is the world's #1 independent networking engine and multiplayer platform — Fast, reliable, scalable.

Use the Photon SDK to easily add multiplayer to your games.
Run them in the global Photon Cloud or host your own Photon Servers.
Match your players to a shared game session (called "room") and transfer messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, web, console or standalone.


Package Contents
------------------------------------------

/Chat-cpp              - Photon Chat sources
/Common-cpp            - common sources
/doc                   - Release history, API documentation
/LoadBalancing-cpp     - Loadbalancing specific sources
/Photon-cpp            - common Photon sources
/Demos

	/demo_loadbalancing:
	The demo client connects to a master server and shows how to create a room, join a random game and how to send and receive events within a running game.


Contact
------------------------------------------

To get in touch with other Photon developers and our engineers, visit our Developer Forum:
https://forum.photonengine.com  
Keep yourself up to date following Exit Games on Twitter http://twitter.com/exitgames
and our blog at http://blog.photonengine.com/.
Expand Collapse
Cocos2d-x SDKs
On-Premises

Cocos2d-x SDKs

All C++ based Photon SDKs are compatible with Cocos2d-x off the shelf! Find the SDKs you can gear it up with linked to below.

iOS , Android , Windows , Marmalade

Unreal Engine SDKs
On-Premises

Unreal Engine SDKs

All C++ based Photon SDKs are compatible with the UNREAL ENGINE off the shelf! Find the SDKs you can gear it up with linked to below.

Android , iOS , Linux , Mac OS X , Switch , tvOS , Windows , Xbox One

Doc
Get setup instructions in the Photon Unreal Engine SDK doc.
V-Play SDK
On-Premises
Server SDK
On-Premises

Server SDK

Photon Server is a on-premises real-time socket server and cross platform multiplayer game development framework that is extremely fast and very simple to use.
Use the multiplayer API from Photon Server to join many players together in a shared game session and transfer data and messages synchronously, in real-time, between connected players across platforms.

Current Version
v4.0.29.11263.exe
Older Versions
v3.4.31.10808.exe
Doc
Requirements , SDK Docs
API Doc
API
Plugin SDK
On-Premises

Plugin SDK

Photon Server Plugins allow you to extend the Game/Room behavior. Intercept in-game events, process player actions and easily add callbacks.

Photon Server Plugins are available for Enterprise Cloud or selfhosted Photon Server v4.

Current Version
v4.0.29.11263.exe
Doc
SDK Docs
API Doc
API

Photon Artwork

We request indie developers to display the Exit Games Photon logo prominently, in splash screen or credits, within their applications.
Of course, others are most welcome to do so as well :]

Download the Photon Artwork.


Q + A

If you have comments or just want to share a thought simply drop us an email and we will get right back to you.

Questions are welcome in our community, http://forum.photonengine.com/sso .
Documentation is available online at https://doc.photonengine.com/en/realtime/current/ .
Updates to our SDKs and other are announced on a regular basis via http://www.twitter.com/exitgames .