Google Chrome just killed the Unity Web Player

Chrome version 42 was just released and by default it disables support for the Unity Web Player, effectively killing it.

Chrome has a large market share overall, ranging from 25-50% depending on what source you're checking. On my own site, according to Google Analytics, nearly 70% of the users use Chrome.

It's not all lost, however. For the time being Unity Web Player support can be re-enabled by pasting this into your chrome address bar:

chrome : //flags/#enable-npapi

This should take you directly to the correct Chrome setting. Click to enable it and restart your browser. If this doesn't work you may have to empty your browser cache as well. This isn't a dangerous thing to do, it just enables NPAPI-support as it was before you upgraded to Chrome version 42. Now the Unity Web Player should work just like before. This workaround will only work until September when support is removed for good:

https://www.chromium.org/developers/npapi-deprecation

This change in Chrome or its workaround is not targeting the Unity Web Player specifically, but all plugins which use the Netscape Plugin Application Programming Interface (NPAPI). The most popular of which include Java, Silverlight and the Unity Web Player. Their reasoning for doing this is as follow:

NPAPI’s 90s-era architecture has become a leading cause of hangs, crashes, security incidents, and code complexity.

Removing the NPAPI-support in Chrome is not something they suddenly decided to do, it has been a long time coming:

https://blog.chromium.org/2013/09/saying-goodbye-to-our-old-friend-npapi.html

But it still sucks that they decided to pull the plug now. Building for WebGL in Unity is not ready yet which means the only option left are standalone players. Meaning Unity just lost the feature I enjoyed the most. Especially annoying is that of all is that this happens just before Ludum Dare 32. It doesn't actually change things all that much seeing as I was planning on supplying standalone builds either way, but it would be preferable if Google had at least waited a week.

The Unity Web Player has been integral to my website and I have spent a lot of time building functionality around it. I doubt most Chrome users will bother to manually enable NPAPI-support or switch browsers to use the Unity Web Player so I guess all my future projects will include a standalone build in addition to the Web Player build, and I will consider adding standalone builds to existing projects as well.

By September however I will drop the Web Player completely. By then the other browsers will probably have removed NPAPI-support as well. I only hope that WebGL in Unity is working a lot better by then.

UPDATE August 10, 2015: Unity has made an official blog post about this:

https://blogs.unity3d.com/2015/05/28/web-publishing-following-chrome-npapi-deprecation/

In short they recommend WebGL as a substitute for the Web Player, but acknowledge that it doesn't have the same feature set and performance as the Web Player at the moment. The do however promise that one day it will be just as amazing as the Web Player. I will wait until September when the Web Player is officially unsupported to see just how it happens it praxis and then I will attempt to switch all my projects over to WebGL. If that doesn't work I may keep the Web Player, but put up a message for Chrome users. Or I may start supplying standalone versions instead.

UPDATE September 5, 2015: Google Chrome 45 is officially out now and Unity Web Player support is gone for good. Time to let it go, I guess. :'(

I'll leave the Web Players up for now and I'll probably even continue releasing Web Players for future projects seeing as WebGL is nowhere near ready in my opinion, but for anyone using Chrome I'll display a message telling you to switch to a different browser if you want to try any of my projects without downloading the source or the standalone. I'll make sure most projects get a standalone download.