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.
- Notification received.
- App uses a 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 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.
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).