On this page, we will list known issues with Photon on the various platforms. The focus here is on issues which we can't fix or workaround. In some cases, this means we will simply list broken versions per platform and guide you to other versions.
Mobile Background Apps
On mobile platforms, if the app moves to background it pauses the main message loop which is responsible for keeping the client connected among other things.
Typical causes of this are:
- Player hits "home button".
- Phone call received.
- Video ads.
- Third party plugin that introduces an overlay view in the app (e.g. facebook, Google, etc.).
If the app stays paused for more than the client disconnect timeout (which should be 10 seconds by default) the client will be disconnected and you need to reconnect as soon as the app is "unpaused". A "timeout disconnect" callback will be triggered only when the app is no longer in the background.
If the game design can allow a player to return even after several seconds or minutes, then you could also reconnect and rejoin the game again. If you want to rejoin the same room with same actor number when the app is unpaused you need to take few things into consideration:
- PlayerTTL: the room needs to be created with a PlayerTTL value high enough that permits a player to return after a while.
- EmptyRoomTTL: the room needs to be created with an EmptyRoomTTL value high enough to keep the room alive for a while when the last joined player's app is in the background.
There is a known issue in Windows 8 (maybe 8.1), which has the system search for new Wifi networks, even though it connected to one. This can affect a game with realtime networking with frequent gaps of incoming messages and a spike in ping times.
In order to fix it change
ScanWhenAssociated field in system register
Application.runInBackground is not supported on mobile platforms.
OnApplicationPause method is called whenever the app moves to or back from background:
Windows Store Capabilities
If you target Windows Store and you are having exceptions when you try to connect or you have this error:
A network capability is required to access this network resource
Make sure to enable the required capability from Unity's "Player Settings" -> "Publisher Settings" -> "Capabilities -> "InternetClient"
Windows Phone 8
Export in Unity 4.3.3 and 4.3.4 fails due to a bug in that release. It will fail with message:
Exception: Method not found: 'System.TypeCode System.Type.GetTypeCode(System.Type)'.”
A workaround is described here.
Unity 4.2.2 will work and 4.5 will be fixed as well.
If you want to export your Unity application to UWP you can either use .NET or IL2CPP as scripting backend. Photon PUN is already configured to choose the correct library in order to successfully export the application from Unity. If however something goes wrong while exporting please check and make sure that you are using the correct library for the certain scripting backend:
If you are using .NET as scripting backend make sure that Photon3Unity3D.dll is used from /Assets/Plugins/Metro/ directory
If you are using IL2CPP as scripting backend make sure that Photon3Unity3D.dll is used from /Assets/Plugins/ directory
Some Unity 4.3.3 and 4.3.4 exports will not read received room- and player-properties correctly. Some cases might also crash with out-of-memory exceptions.
In this case, the AOT (Ahead Of Time) compilation is not working correctly and some of the methods that work on Hashtables break. We could not find a proper cause for this but are testing the upcoming releases of Unity 4.x for a fix.
Keep in mind: Not all exports are automatically broken but some project will always break, others won't.
Some Unity versions do support IPv6 or has broken this feature previously available (like 5.4). Some of the supported versions are: 4.7.2, 5.1.5, 5.2.5, 5.3.4p4, 5.4.0p1 and newer (see Unity blog post).