Search Unity

No NaCl in Unity 4.3

Discussion in 'General Discussion' started by Julien-Lynge, Nov 12, 2013.

  1. Julien-Lynge

    Julien-Lynge

    Joined:
    Nov 5, 2010
    Posts:
    142
    (This is a cross-post from Unity Answers for anybody that wants to add $0.02. The original is here: http://answers.unity3d.com/questions/574054/can-i-use-native-client-nacl-in-unity-43.html)

    Because this is buried deep in the release notes, I have a feeling we're going to see a bunch of people Googling this question, so I figured I'd get it out of the way :)

    Question: Can I use Native Client (NaCl) in Unity 4.3?

    The short answer: No.

    "Google Native Client support is not functional in Unity 4.3. If you need to publish to Native Client you can still use Unity 4.2.2."

    The longer answer:

    In a nutshell, the Unity devs have said they don't feel that Native Client has lived up to the hype. They were hoping for features that haven't materialized, and NaCl doesn't appear to be getting a lot of love from Google ATM. It appears that Unity just doesn't want to expend the extra effort to support it as a platform, along with the other dozen. I'm guessing they view it as a distraction vs pumping out new cross-platform features, which they would rather do.

    However, browser plugins are going away in a big way. Google, for instance, has announced that they are totally abandoning NPAPI, which many common plugins are built on, as early as next year:

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

    Mozilla has added some security restrictions for plugins so they don't autoplay. IE may restrict or remove plugin capability as well. In that case, we may see a bigger push for technologies like NaCl, because as of right now there aren't a ton of good alternatives.
     
  2. Nasarius

    Nasarius

    Joined:
    Oct 1, 2012
    Posts:
    17
    So why is it still there as a build option?

    NaCl is mostly uninteresting due to restrictions, but PNaCl just got a stable release. Is this a possible future alternative for Unity, or are there technical reasons why it's unsuitable?
     
  3. goat

    goat

    Joined:
    Aug 24, 2009
    Posts:
    5,182
    I don't believe NaCl uses NPAPI.

    It makes sense that the restrictions for browser plugins are being tightened.

    If Google wants to complete with Steam or truthfully, FaceBook, they will continue to develop NaCL. They'd problably like to integrate NaCL (GooglePlay) and YouTube very tightly in with Google+ to compete with FaceBook and I think they are trying...if looks like their future is Android handsets and tablets not those other properties unless they really do a good job reworking YouTube.

    From a popularity competitive stand point it would have made more sense to integrate NaCL/GooglePlay/Google+/GoogleMail/GoogleChat GoogleVoice into YouTube and very tightly integrate maturity ratings and the appropriate filters into YouTube (even though maturity ratings are for the most part a euphemism to be allowed to post immature and offensive content but I'm not going to bother wasting my breathe arguing on that). Notice I left Google search out of that, they'd use that to search restrained and tasteful advertising to post with served content.
     
    Last edited: Nov 12, 2013
  4. MrProfessorTroll

    MrProfessorTroll

    Joined:
    Sep 1, 2013
    Posts:
    383
    I saw NaCl and thought salt lol
     
  5. s_guy

    s_guy

    Joined:
    Feb 27, 2013
    Posts:
    102
    Google has referred to it as "Salt", so it's intentional. :p
     
  6. Julien-Lynge

    Julien-Lynge

    Joined:
    Nov 5, 2010
    Posts:
    142
    @Nasarius,
    I saw that too, and I've asked the Unity folks about it. I'll let you know when i hear back.

    PNaCl is definitely a possible future alternative for the webplayer, but it's likely to always be Chrome only. I'm sure the Unity folks are eyeing it with interest, but I don't know if it's viable.

    @goat,
    Yeah, NaCl doesn't use NPAPI, and that's one of the alternatives to current plugin tech that Google is pushing. Part of the reason we haven't heard an announcement of a replacement from Unity is exactly what you're hinting at: the playing field is changing so rapidly that they don't want to start pursuing a technology before they see what the big players are doing. They already did this with Flash and BlackBerry, I'm sure they don't want to pour more effort into a tech that's going to be obsolete soon for some reason or another.
     
  7. goat

    goat

    Joined:
    Aug 24, 2009
    Posts:
    5,182
    If I were Unity I'd let MS, Facebook, etc, etc make the most of the contributions needed to get Unity/Unity webplayer running optimally on their platforms. They have they type of leverage now I think.
     
  8. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    Are there any indications that that's something they were ever trying to do? Steam is in the business of selling games and game related software. Google is in the business of finding and trading information. Advancements in web technology align with that, but competing with Steam as a games distribution service doesn't.

    On one hand yes. On the other, if the big players would rather push WebGL then they might see Unity's web player as a competing technology and be less interested in supporting it. Which might open up WebGL as a potential solution in the future, maybe, but in its current state I honestly don't see it being useful before plugin restrictions become a major stumbling block.
     
    Last edited: Nov 12, 2013
  9. goat

    goat

    Joined:
    Aug 24, 2009
    Posts:
    5,182
    I only mentioned Steam because it seemed popular with some folks here (and I haven't heard Kongregate for a while) , not because FaceBook or Google intend to compete with them.

    I would guess underneath NaCl there is a lot of WebGL. I don't expect Google wants to compete with Unity either. FaceBook yes.

    Or maybe not. WebGL is not really important as it was now that FaceBook and Unity are collaborating. Maybe in 10 years the University of Utah or some other organization will release an open source competitor to Unity. Maybe Blender will redo their game engine using webGL/openGL.

    So to me saying WebGL is like saying Posix in yesteryears. Ultimately Windows and Solaris (because of Java) took care of Posix and the multitude of commercial Unix variants. The original interest was that it was free and so you could make a lot of money with good technical solutions using it but for the same reason most people choose Unity over openGL / Android and openGL / iOS they choose Unity over webGL. It's writing in assembly vs .Net with a nice IDE. No competition really.
     
  10. Julien-Lynge

    Julien-Lynge

    Joined:
    Nov 5, 2010
    Posts:
    142
    Another thought about NaCl:

    I wonder how many Unity users are actually using it as a feature. Unity would have better numbers on this, but I can't think of any significant Unity titles that have been released for it, and I don't know any developers that are even considering deploying a NaCl app. Most of the people I know say "yeah, that's a cool feature I'd like to try some day" vs "I have to have this now for my game!"

    I also wonder what the total market is for chrome apps. If it's not in the billions of dollars, it may just not make sense for Unity to support it as a platform, regardless of the cool features it offers.
     
  11. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    Something being "free" is only referring to up-front fixed costs. Ongoing and variable costs of "free" things are often much higher than commercial things, so they often make a lot more sense if you think past literally the first day of business.

    Also, I don't think that anyone making anything but a tech demo genuinely picks Unity over WebGL. One is a commercial ready cross-platform tool. The other is virtually a prototype technology that only works in web browsers and only on PC-like platforms. Those things may change, but at the moment I think that cases where there's a real choice between the two are incredibly few and far between.
     
  12. goat

    goat

    Joined:
    Aug 24, 2009
    Posts:
    5,182
    Well in the case of commercial things in the US it's mostly the government picking the tab so it may not be free for us the costs are cheapened for the commercial ventures considerably. That we're in the Unity forums states our choice which is more practical. That's not to say a would-be competitor to Unity couldn't use openGL/webGL to build extremely expensive one off simulations and specialty software and be extremely overpaid for their inefficiency by back slapping good ol' boy government contracts.
     
  13. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,502
    It's another tricky chapter in the story of 'beyond the pure html-based web' inside browsers. Flash continues its extremely prolonged journey towards death, and there isn't a lot of consensus from browser makers about code that isn't javascript. Plugins are an especially dirty word these days, and some of the alternatives do seem to lack a sense of urgency and genuine commitment from the likes of google.

    The problem with webGL is that it is only one part of the puzzle. It solves the 3D graphics side of things, but not anything else that makes a game engine. Other modern web developments provide functionality in other areas, such as audio. The big headaches are with the code itself, how (or if) stuff that isn't written in javascript is going to run inside browsers of the future. Plus some of the potential solutions to this issue may pose additional headaches for something like Unity which has a variety of 3rd party systems technology providing quite a lot of the really important functionality.

    The app store phenomenon is also an issue because it provides some motivation for some of the corporations involved not to make their browsers capable of running stuff in a way highly comparable to native apps. In theory the opposite may be true when it comes to Chromebooks and Firefox OS, but I'm not sure these are strong enough platforms to bring about solutions that swiftly go past the glorified experimental stage. The likes of Facebook should certainly have an interest in helping web game developers find a new solution, but I have no idea if they can or will.

    The other issue with imagining a future where 'proper games' run in a browser using mostly pure web tech (i.e. what often gets simplified down to people shouting "WebGL"), is intellectual property issues to do with all manner of assets used in the game, and how easily these assets may be ripped/downloaded by people. See web font copyright etc issues for a comparable thing thats already happened and requires careful consideration solutions.
     
    Last edited: Nov 13, 2013
  14. goat

    goat

    Joined:
    Aug 24, 2009
    Posts:
    5,182

    And I can tell you most people I interact with on the internet are using Facebook on a mobile phone. I can tell from their response time when I post or respond to something.

    So you Unity programmers should make your big 4 iOS / Android / Windows Phone / Facebook you can throw in osX and Windows Store if you like but only because the cost to publishing to those is minimal if you've handled the 1st 4, well another $100 a year for the os X Store, that's not really cheap for the likelihood of return on investment.