Timeline of Modern Browser NPAPI Support
While browser games remain a popular format for game development, the technology behind browser games has been changing quickly over the past few years. Back in 2013, Chrome announced that it would be dropping support for the Netscape Plug-in API (NPAPI) due to concerns about the browser's security, speed, and stability. Skipping ahead a bit, Chrome version 45 launched on September 1st of last year, removing support for NPAPI plugins. Microsoft's new Edge browser also doesn't support these plugins, and Mozilla recently announced that it will be dropping plugins (with the exception of Flash) as well at the end of 2016.
Because Unity's Web Player uses NPAPI tech to run in browsers, all Unity games no longer load when opened in Chrome.
This has been a worry for developers who are depending on Unity working in browsers to sustain themselves. If you're reading this, you probably either already have a Unity game up on web, or are considering launching one, but aren't sure if the traffic exists to support your studio. Unity's solution to this is in Unity 5, which includes an option to export games to a plugin-less WebGL format. It had been in preview mode up until it fully released in Unity 5.3 on December 8th, 2015, and we're starting to see more and more games on Kongregate being uploaded using the WebGL builds. Some games have had very little trouble using the new export, while others are running into some bigger problems due to the limitations of the platform. The WebGL export is still in development, as performance is still being improved and kinks are being worked out, but it has come a long way.
While we wait for the remaining improvements of the technology across all browsers, a question remains: Is there still enough of an audience on web using Unity Web Player-compatible browsers? Chrome continues to grow in popularity, with 69% of the market share currently, similar to what we see on Kongregate. That said, we have had an extremely high adoption rate of the Unity Web Player on Kongregate (97% of repeat users have the plugin installed), so our theory was that players wouldn't mind having to switch to another browser to play a Web Player game.
What Kongregate Is Doing
In order to prepare both developers and users for the transition, we started a campaign educating them about Chrome disabling NPAPI support months before it was removed. When the first phase of the takedown happened and Chrome blocked NPAPI plugins from running on the page by default, we showed users how they could re-enable the Web Player. Then, when NPAPI support was taken away by default, we started showing a notification that Chrome had ended support for the player, and a link to download Firefox in order to run the game.
So, are players willing to jump through some hoops in order to play the game they wanted to play, or has the Chrome removal of NPAPI cut off a large part of Unity's audience? Here's a breakdown of the traffic coming to a handful of our top Unity games on Kongregate:
This first graph shows the aggregated weekly gameplays for a handful of our most popular Unity Web Player-only games over the past year. The first line shows when Chrome 42 launched (April 14th, 2015), which was the first release to turn off support for NPAPI plugins by default (though players could dive into Chrome’s settings to turn it back on). There is a noticeable drop in traffic around then, and while it starts a couple of weeks before Chrome 42 is actually released, traffic never fully recovers. Overall between the two periods, there's about a 12.6% drop in average daily unique users. While that’s not a trivial drop in traffic, it’s nowhere near the 65% browser market share of Chrome, supporting the idea that most players were willing to change browser settings or switch browsers entirely
The next vertical line shows when Chrome 45 was released (September 1st, 2015), fully cutting any support for NPAPI plugins. The average for daily gameplays only went down by 6.7% between technology changes this time. Overall, this shows an 18.5% drop from the period before NPAPI support was removed by default, which means that 81.5% of traffic still remains in Unity Web Player games after all of the technology changes.
A general total gameplays number is great and all, but it doesn't tell the whole story. There is still the question of how many of these users were on Chrome to begin with, and how many new users are playing and sticking around.
This chart shows a distribution of the same group of games' traffic across the different browsers:
When Chrome 42 launched, you can see the graph start to shift to mostly Firefox. It moves from around 27% Firefox and 63% Chrome sessions to ending up around 23% Chrome and 63% Firefox. The remaining Chrome users are those who had the enable-NPAPI flag turned on, as well as new users who came to the page for the first time. When Chrome 45 launched, those remaining users using the flag started to wane, and the number of Firefox users continues to grow as time goes on, with the new distribution being 11% Chrome and 78% Firefox.
The takeaway here is that while the impact of these changes certainly isn't null, at least on Kongregate, users are comfortable switching to a browser that supports the Web Player in order play Unity games.
State of Unity WebGL Export
Unity's WebGL export is now officially out of "preview," and has been fully released in Unity version 5.3. Unity 5.4, which is scheduled to leave beta in June, will also no longer have an export to the Web Player format, so developers will have to switch to WebGL once they upgrade. Unity is communicating that WebGL should be considered a different platform from the Web Player, and while the current feature set and performance are less than what the Web Player had, there are significant improvements coming along the way. The major browser vendors are currently teaming up to work on things like WebAssembly to usher in a new era of even faster web applications in 2016. Another piece of great news in all of this is that while we’re all waiting for new tools and technology to release, Mozilla has committed to not killing Web Player support until the end of this year, giving developers plenty of time to work out the switch to WebGL. And, as we've already seen, there's still plenty of traffic coming to Web Player games.
In order to ease the transition from fully Web Player over to fully WebGL, Kongregate created the option for developers to support both the Web Player version of their game as well as the new WebGL export simultaneously. This means that on one game page, anyone in an NPAPI-compatible browser will load the Web Player build, and anyone running Chrome or Edge will see the WebGL version. Developers still have the option of supporting only one or the other, but for those making the move, this is a way to handle the transition without any interruption for the players.
Top Games on Kong Still Unity
The takeaway from all of this is yes, the end of NPAPI does mean that there will need to be a shift to new technology. There are more and more resources popping up, both learnings from developers making the switch, and in Unity’s documentation. But, if you're in a state where you're having issues with building to WebGL, it doesn't mean that your game has to wait to release. On Kongregate there are still plenty of popular games being uploaded that are only using the Unity Web Player plugin to run. On top of that, our top most-played games for the past several months have included both Contract Wars and AdVenture Capitalist, which are both running the NPAPI Web Player and haven't yet finished making the move over to WebGL. We still strongly encourage developers to begin the transition over to WebGL, but if your Web Player version is ready now, there's no need to wait to start building an audience for your game. Be sure to watch our blog for an upcoming post with advice for uploading your WebGL game to Kongregate when you’re ready to make the switch!