We have been trying to migrate our game to Facebook and have been running into issues left and right. WebGL builds made with the Facebook build target, WebGL target platform, and newest Facebook Unity SDK (7.13.0) do not interface with Facebook Canvas correctly, making Unity’s Facebook WebGL builds unusable. This issue has apparently been known since at least July but is unresolved: Log into Facebook
We’ve noticed that, although Unity claims that Unity IAP supports Facebook, the IAP Catalog GUI does not list Facebook in the “Store ID Overrides”.
We didn’t make the game “specifically” for Facebook, but are trying to make Facebook one of our release platforms, because every platform is more potential players and more potential revenue…
Yes, but the acquisition costs of players on Facebook, along with porting costs, make it something that’s… not the greatest avenue to explore. It’s very easy to actually lose money if you target too many platforms.
This is Unity; in theory our porting costs shouldn’t be much more than “switch build target, wrap a few mobile features in #if !UNITY_WEBGL, and deploy.” We’d already be done if not for SDK bugs.
Anyway, thoughts on whether Facebook is a profitable platform aren’t really relevant to the original question, which is whether Unity still actively supports Facebook or has pushed it under the rug.
I wouldn’t necessarily assume that this is solely the fault of Unity. I just checked the official repository - which is hosted not by Unity but by Facebook - and it’s at least one version out of date. I’m inclined to suggest that this isn’t simply a matter of Unity abandoning them but of both companies no longer being interested.
That said it could also be a situation of both companies waiting on the release of Unity for Small Things. Because as it currently stands WebGL projects are not lightweight and a very large portion of Facebook users are using their phones which means very tight bandwidth limits.
Hello! Answering your question: for sure we do support Facebook platform. I’m sorry that you faced the issue with 7.13.0. We are currently checking what’s wrong with FB.Init() in 7.13.0. I will post updates here as soon as possible.
So basically, in some cases, one of the dlls is stripped from the build, because it’s not used directly, to fix that issue you (or Facebook as well) have to add link.xml file with the next content:
We just get the supported SDKs from their servers, otherwise we’d have to do a Unity update each time they make an SDK update which we wanted to avoid.
This page says that we can use a custom Facebook SDK, but if we add 7.15.1 we get build errors when trying to build for the Facebook build target:
Plugin 'Facebook.Unity.Canvas.dll' is used from several locations:
Packages/com.unity.facebook.gameroom.sdk/Runtime/Facebook.Unity.Canvas.dll would be copied to <PluginPath>/Facebook.Unity.Canvas.dll
Assets/FacebookSDK/Plugins/Canvas/Facebook.Unity.Canvas.dll would be copied to <PluginPath>/Facebook.Unity.Canvas.dll
Please fix plugin settings and try again.
If we try to remove the older (7.13.0) Facebook Gameroom SDK from the package manager, it goes through the removal process but immediately reinstalls the package.
They call it “Gameroom”, but as far as I can tell it also affects Facebook WebGL (since Unity IAP on FB runs through the “Gameroom” SDK from plugin manager)