Unity WebGL + Facebook = Angry
The Unity team are making great strides to push WebGL as a publishing format even though there are a number of limitations in what features are supported. To fuel this they have also partnered with Facebook to push Gameroom as a gaming client – though it’s a bit confusing as to what this actually means. It seems like its a Windows only client (why no Mac?) but also a destination point on Facebook (maybe?).
Anyway if you can overcome the hurdles and trim your game down within the constraints it is possible get your game running in WebGL & Facebook, and now Facebook will host it as well. This could be a great opportunity for having a version of your mobile game running in a web browser in order to build awareness.
So I spent the last week trying to do just this with Chasmic Rush, and it was probably the most painful development experience of the last four months because it was such a confusing and disjointed process. Getting a build working is only half the battle, as the remaining half is trying to integrate with the Facebook API in order meet their best practices and this is where I encountered the biggest problem – Facebook doesn’t tell you how to do this.
Once you start using the API there is a woeful lack of documentation and even when you do manage to connect to Facebook after negotiating the various permissions it is so full of caveats that it makes testing incredibly hard. It made me feel really angry that it is so much more difficult than it needs to be and whether anybody at Facebook actually cares about this? It reminded me of an interview with Jonathan Ive where he said users had a right to be angry at poor design, or in this case “no design”. It made me wonder if Facebook is simply an engineering-led company with design playing either no part or a subservient part.
My suggestion is that if Facebook are serious about getting more Unity games on the platform they need to invest in creating a proper plugin that does the heavy lifting once to reduce the integration burden for each developer. Moreover, a proper up to date sample game (using WebGL) that runs across multiple platforms showing how they integrate would go a long way to moving things in the right direction.