Search Unity

Future of Unity in Chrome

Discussion in 'General Discussion' started by Dantus, Mar 22, 2014.

  1. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    It is well known that Chrome drops NPAPI (http://blog.chromium.org/2013/09/saying-goodbye-to-our-old-friend-npapi.html). That means the Unity Web Player will not anymore work before the end of 2014. Until recently the backup plan was NaCl, but Unity dropped it because there was not enough interest. The last chance was that Unity would present a solution at GDC. Unfortunately WebGL with asm.js is not a solution. So far it is Mozilla only and even if it was available in Chrome, the performance would be significantly slower than the existing Web Player.
    There were no announcements that Unity plans to support PNaCl or that the Web Player will become a part of Chrome like Flash.

    Based on the information we have, Unity won't have a player for Chrome anymore and as such, Chrome is not anymore supported before the end of 2014.

    What I don't understand is, why did Unity drop NaCl? As the Web Player won't work anymore in Chrome, NaCl would automatically have become a lot more popular.
     
  2. TrentSterling

    TrentSterling

    Joined:
    Jan 4, 2013
    Posts:
    99
    If only Unity could keep on chrome's whitelist. Or some kind of integration in chrome- but not like pepperflash- because pepperflash sucks. Is silverlight going too? I JUST started my netflix trial this week.
     
  3. izyplay

    izyplay

    Joined:
    May 28, 2013
    Posts:
    7
    Yesterday in GDC, the Unity team had a presentation called "Unity - Deploying Unity to the Web, now future – A look at WebGL". I thought that the solution for NPAI problem have been shown there. But, the only notice until now is the WebGL port. Someone have more information?
     
  4. Ostwind

    Ostwind

    Joined:
    Mar 22, 2011
    Posts:
    2,804
    There has been threads about this where Unity devs have responded. IIRC the main reasons were NaCl was solution only to one browser/platform, Google was not too willing to do some things and the thing you said too it did not receive enough interest.
     
  5. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    Yes, I am aware of that. My actual concern is the communication from Unity regarding this topic. They often pointed to ongoing development, which now turned out to be WebGL. But that's not the solution. According to the information we all have, they have nothing in petto for Chrome. If Chrome is not anymore supported past 2014, why don't they just communicate it? Otherwise they could at least say something like, we are working on a solution for Chrome, but the outcome is uncertain.

    I understand that Unity doesn't want to share too much information. But there are many, including myself, who rely on that kind of information. Even if we all knew that NPAPI was dropped in Chrome, I am almost certain that many had NaCl as a backup plan in mind. Then Unity more or less silently dropped it and now there are no more workarounds.
    As a professional, you have to be able to tell the customer that is looking for a web solution, whether Chrome is going to be supported after 2014. And if that customer wants updates in the future, you can't stick to an outdated Unity version that supported NaCl.

    I don't want information about a new feature. As paying Unity customer, I believe it is not too much to ask for information about a platform that is slowly being faded out by Unity.
     
  6. Ostwind

    Ostwind

    Joined:
    Mar 22, 2011
    Posts:
    2,804
    Did you ask this in support? AFAIK they have already told months ago to people that they will have some solution available before Chrome drops supports as there have been plenty of paying customers who are worried about their business. Unity knows there are plenty of people who have business built solely on Web Player. Today it seems their solution will be WebGL.

    Bringing back NaCl does not help if all the sudden Firefox and IE announce that they will drop out or limit stuff in shoft notice. I think this is already happening with Windows RT IE. NaCl support is probably risky business which could end up in wasted dev time that they want to avoud after what happened with Flash.
     
  7. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    I asked Unity officials but without success.
    Bringing NaCl back would help a lot because it could fill the gap. Chrome doesn't have asm.js support as Mozilla does and it is rather unlikely that Unity's WebGL will be production ready in any browser by the end of 2014.

    However, it is not my intention to tell Unity what they should do about Chrome. Having no information about the future of an existing platform is not an acceptable situation.
    If Unity tells us that Chrome will be dropped, it is fine.
    If Unity tells us that Chrome will be supported via WebGL as soon as asm.js is supported in Chrome, no problem.
    If Unity tells us that they are working even on something else that may or may not turn out to be a suitable solution, it is fine.

    There are companies that need to make decisions about which platforms they want and can support. Having Chrome support in Unity can likely influence those decisions.
     
  8. RalphH

    RalphH

    Administrator

    Joined:
    Dec 22, 2011
    Posts:
    592
    Let me try and answer this as clearly as possible.

    Chrome is dropping support for NPAPI without a viable alternative for people with plugins today.
    We are not going to invest anymore in NaCL (nor Flash, for that matter) and both are completely removed with Unity 5.

    We will and have heavily invested in a webgl deployment option through asm.js. We do believe that this is what the future will look like; while it's still early days for "plugin-free" gaming of high-quality content deployed like this, we do believe that by helping maturing the platform (which we have done in silence over the last 2 years, and will now be doing more vocally), we can help accelerate this.
     
  9. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    Thanks a lot!

    That means for us, Chrome will not anymore be usable by the end of 2014, until asm.js is part of Chrome and a mature platform. That's absolutely understandable and okay. So far I never got a clear answer. The answer was always: We are working on it. Which is just misleading as there is clearly no short term solution.
     
  10. RalphH

    RalphH

    Administrator

    Joined:
    Dec 22, 2011
    Posts:
    592
    As for "we are working on it"; we don't talk about every plan unannounced feature/platform we have that might or might not work out. In this case, we've kept WebGL under wraps until we felt it's viable. Of course, we're not out to (paraphrasing you here) "mislead" anyone, nor did we actually do that. We are working on it was and is true.

    I hope it's clear that chrome is removing npapi without offering a viable alternative (or actually waiting for one to mature). All we can do is put our backing behind what we think the future would look like, from todays viewpoint.

    Now, for the most interesting part; asm.js works just fine on chrome today; it's just that Firefox actually optimizes for it and is faster; however in our tests, games are playable in chrome too. For the initial version of webgl we are now planning to support desktop chrome and firefox.
     
    Last edited: Mar 23, 2014
  11. L-Tyrosine

    L-Tyrosine

    Joined:
    Apr 27, 2011
    Posts:
    305
    Amazing!
    RalphH, a quick question if I may.
    Currently, webplayer builds are (by .net nature) very easy to disassemble, check source code and even be rebuilt. Would asm.js increase protection in this matter?
     
  12. RalphH

    RalphH

    Administrator

    Joined:
    Dec 22, 2011
    Posts:
    592
    L-Tyrosine; in any scenario (regardless of Unity / C#) ; if the user can get their hands on the code, it can most likely be reverse engineered / dissassembled.

    However, because of our path of C#->CPP->javascript (asm.js subset), it's not as easy as just running something like ilspy. At the same time, one could modify the javascript, after spending a lot of time finding the appropriate code to modify (in non-development builds, webgl is heavily obfuscated due to minification...and that on itself is a minification of javascript that once was c++).

    To be clear, and again, in general on this topic; if you heavily rely on "secrets" in your source to be able to get security (Security through obscurity), and that's the only security you have, you're not doing it right ;-)
     
  13. L-Tyrosine

    L-Tyrosine

    Joined:
    Apr 27, 2011
    Posts:
    305
    Thank you.

    I see. But my main concern in this topic is about someone who gets a web game, disassemble it, strips out the host checking code, recompile and publish again in its own site. like here

    http://www.4399.com/flash/113730.htm

    I just uploaded this game (Mighty Wings) on some selected portals to gain with ads, with code to ensure that would run just from these sites.
    While I'm happy to see so much fun with my indie work on the other side of planet, I would be happier to gain something from this at least :)

    Then asm.js would pose a step of difficult for this to be accomplished at least... Beside that, I am implementing some more aggressive anti-tampering with selective encrypted assetbundles downloads after some client trials.
     
  14. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    Being a professional for which this kind of information is critical due to business decisions that have to be made, the official communication was really not good.
    I understand the restrictive information politics about ongoing developments. But we are talking about the future of a supported platform!

    It was not even clear what this message in the release notes means:
    Will it be supported again in Unity 5? Will Unity use PNaCl in the future? It shouldn't be necessary to browse through the forum to find out that this means Unity will not anymore support NaCl. It is not even mentioned in the documentation.

    There was no statement by Unity. We were planning with Chrome. But it is a fact that we can't rely on it until it contains a sufficiently fast implementation of asm.js. There are businesses that depend on that kind of information!

    @RalphH, I don't expect you are responsible for the official communication. Please, don't take this as a personal critique.
     
  15. jonas-echterhoff

    jonas-echterhoff

    Unity Technologies

    Joined:
    Aug 18, 2005
    Posts:
    1,666
    I understand your frustration, but sometimes, it is not easy to announce plans, when those plans are not fully decided yet. We did not know at the point the release notes for 4.3 were written wether we would see any viability or need to bring back NaCl (or PNaCl support) later or not, thus the wording. We have made that decision now, and Unity will not have any support for NaCl in the future. When you want to deploy to Chrome after they drop plugin support, you will have to do that using WebGL. Which, as Ralph said, works fine -- the lack of asm.js-awareness in Chrome does not mean that the code will not work, it will just lack some optimization, and run slower then in Firefox. First releases of WebGL will officially support Firefox and Chrome, though I have seen Unity WebGL content show quite playable performance in Opera and Safari as well, and MS is known to work hard on their implementation, too.
     
  16. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    I really appreciate that you are sharing that information! That is extremely valuable!
     
  17. drawcode

    drawcode

    Joined:
    Jul 21, 2008
    Posts:
    72
    @jonas + @Ralph

    Very helpful information and thanks for your hard work on this, I can imagine it might be a little crunchy until 2015 and for that hopefully Unity brings in massages, drinks and free food for the WebGL team! We should have a poll on that.

    Chrome pulling an IE of the early 2000s and not caring about the ramifications once their market share got to majority is a bit troubling. I am happy they are evolving but the PPAPI and NaCL efforts were reminiscent of Sony and Minidisc like technologies where there is no benefit to other platforms, who else would implement it if not open and widely supported? So I applaud the announcement and the move to WebGL which I am excited about and is the future (hopefully near future).

    It is good to know that NaCL is not viable at all as a backup which I had also planned for the gap between when WebGL is ready/performant/solid. It is also good to know that there won't be a PPAPI Unity of which I have seen no announcement and if it is slower why do it? Developing another proprietary single browser solution when there is WebGL out there is a waste of resources.

    However there is a small gap where web game development will suck if Chrome does indeed pull it at the end of this year (Google is going to get a bad name for a while from every game portal out there and grumblings this whole year).

    I wonder if there is any way for Unity developers to put pressure on Google to whitelist the WebPlayer for just one more year 2014-2015 so that WebGL development and support isn't so crunched? This would be the best option.

    The recommendation for clients starting games past July I will probably just say for Chrome we need to do a downloadable backup version which will raise budgets a bit. It would be great for Unity to come up with a roadmap and recommendations on web deploying close to the plugin-pocolypse, and if needed call out Google and put some pressure on them to keep the Web Player available to run for one more year. I am pretty sure they won't budge on it as they are the platform kings are we are the sharecroppers but it is worth a shot. I do like that they are forcing everyone to WebGL I just wish it was with a better WebGL solution, something like asm.js from Mozilla, rather than ANOTHER proprietary plugin solution that moving to WebGL is a side effect of not because their WebGL support is better. Mozilla is killing it where Google should also be.

    I am happy to hear that WebGL has been a multi year effort so far and can't wait to beta it.

    This event just makes Mozilla a better browser for gamers than Chrome, a huge misstep on Chrome's part even though I applaud the move to WebGL. But Chrome's behavior makes me worry a little bit about what they may do in the future, they just barely got majority share and are swinging a big stick. Chrome has always been a faster and more friendly browser for new tech, let's hope they remember that.
     
    Last edited: Mar 23, 2014
  18. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,822
    What will happen in Internet Explorer?

    Will it support WebGL or will we continue to use Unity's web player?

    EDIT : Never mind, I see since IE11 they have added support for it.
     
    Last edited: Mar 24, 2014
  19. Mauri

    Mauri

    Joined:
    Dec 9, 2010
    Posts:
    2,665
    So in the end, Free/Indie-Users might have one platform less to deploy, or?
    Google discontinues NPAPI, which affects the WebPlayer plugin. And WebGL will be a paid AddOn according to some Unity devs.
     
  20. RalphH

    RalphH

    Administrator

    Joined:
    Dec 22, 2011
    Posts:
    592
    About IE; In the current state, we only officially support desktop chrome and firefox. Of course, we'll be working hard (with browser vendors) to widen support where we can.
     
  21. RalphH

    RalphH

    Administrator

    Joined:
    Dec 22, 2011
    Posts:
    592
    So as said earlier; we'll have some much more clear communication soon, but for now; As for the webplayer; it's still here today and there's no official date that we know off for chrome; this is outside of our control. We will continue to support the webplayer for the forseeable future. You can still just use the webplayer as before and for WebGL we'll have more information soon.
     
  22. jonas-echterhoff

    jonas-echterhoff

    Unity Technologies

    Joined:
    Aug 18, 2005
    Posts:
    1,666
    I'm not sure how easily Google is influenced here, but, by all means don't hesitate to tell them what you think.

    Personally, I pretty much agree with all you wrote. I fully understand (and support) the browser vendor's desire to go plug-in free for the purpose of making the web an open platform without content requiring proprietary code, and also because of the security concerns associated with plug-ins. But at the same time, I feel Google's move is premature here. WebGL is moving fast and coming along great - but at this point, the gap between what you can do in WebGL and what you can do in plugins is still to great to have a pain-free transition.

    Google will point to PNaCl when confronted with this, but in the end, PNaCl is technically not that different from asm.js - but unlike asm.js it is a Chrome-only technology, where I just see asm.js as the better solution (as it is compatible to normal JavaScript, and thus works everywhere right away). Currently, PNaCl is still somewhat faster (JS does not yet have thread and SIMD support), but even that is not true for all cases (like startup times).
     
  23. Mauri

    Mauri

    Joined:
    Dec 9, 2010
    Posts:
    2,665
    @RalphH
    Thanks for clearing this up! :)