Known Issues
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.
Unity
ArgumentException in Socket.SetSocketOption
There was a known Unity issue which caused IL2CPP builds to fail to connect with an "ArgumentException: Value does not fall within the expected range.
at System.Net.Sockets.Socket.SetSocketOption". This happened when the Windows 10 SDK 10.0.19041.0 was installed.
Affected Unity versions: 2018.4.23f1, 2019.4.0f1, 2020.1.0b11, 2020.2.0a13. Many more minor Unity releases have been affected, too.
Fixed versions are: 2020.1.1f1 and 2019.4.5f1 and up. Presumably, 2018.4.27 is also fixed. A workaround for 2018.4.23 exists as described here.
Unity 2018.2 Sockets Freeze with .Net 4.x
Unity 2018.2 used a Mono version, which could freeze communication via sockets. Depending on the message size and frequency, this happened sooner or later.
Eventually 2019.2 got a fix for this and 2018.3 should also have it at some point.
When using Mono and .Net 4.x or .Net Standard 2.0, we recommend to use the 2018.4.x or 2019.4.x releases.
RunInBackground
Unity's Application.runInBackground
is not supported on mobile platforms.
Instead, the OnApplicationPause
method is called whenever the app moves to or back from background:
C#
void OnApplicationPause( bool pauseStatus )
{
if (pauseStatus)
{
// app moved to background
} else
{
// app is foreground again
}
}
Windows Store Capabilities
If you target Windows Store (UWP) 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"
UWP Exports
If you want to export your Unity application to UWP you can either use .NET or IL2CPP as scripting backend. Photon PUN or Photon Realtime Unity SDKs are 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:
iOS IPv6
While Unity 5.x should support IPv6 on iOS in general, some versions (like 5.4) break this feature.
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).
Asset Store Package Update
Sometimes assets are not updated at all or not updated properly from the Assset Store in some Unity versions.
Always verify Photon packages' versions either from the change log txt files or from PhotonServerSettings for PUN.
This is a known Unity issue, sometimes old packages are stuck in the local offline cache and updates do not occur at all or not properly.
To fix this, remove the Photon asset package locally first and try downloading / importing again.
The paths for the local Unity assets store cache folder are listed here.