Search Unity

NGUI developer leaves Unity, New GUI?

Discussion in 'General Discussion' started by Arowx, Jan 18, 2014.

  1. NTDC-DEV

    NTDC-DEV

    Joined:
    Jul 22, 2010
    Posts:
    593
    Tim,

    I've got a question concerning backward compatibility, notably with the WebPlayer. I'm one of those users that have a project spanning from Unity 2.6.4 all up to 4.3.1 with engine upgrades every ~12-18 months. In this case, we're talking about Serious Games and eLearning training simulations hooked to a LMS (Learning Management System) using Enterprise-Intranet and Open-Internet accesses paradigms.

    My understanding is that the WebPlayer uses different runtimes for the 3.x and 4.x branches. If Unity decides to stop being backward compatible, could you briefly explain why it couldn't just use a different (let's say 5.x) runtime instead, leaving all previous content working properly at the time of split. I believe you no longer support the 3.x branch anymore, so I'm at a miss about why backward compatibility is causing problems?

    Thank you.
     
    Last edited: Jan 24, 2014
  2. jcarpay

    jcarpay

    Joined:
    Aug 15, 2008
    Posts:
    561
    With Chrome having initiated this already, I expect all major webbrowsers phasing out NPAPI support by the time Unity 5 arrives. Don't hold your breath when it comes to the future of the current implementation of the Unity Webplayer, it doesn't look bright.
     
  3. NTDC-DEV

    NTDC-DEV

    Joined:
    Jul 22, 2010
    Posts:
    593
    I'm aware of that but it's not what I'm referring to. My question is about trying to understand the backward compatibility challenges when it appears they already have an architecture implemented to compartmentalize major versions. The WebPlayer is the only "Unity Player" I'm aware of, the rest are self-contained applications so there isn't any issues there.

    You can get more information about Chrome here;
    - http://forum.unity3d.com/threads/22...r-game/page2?p=1495686&viewfull=1#post1495686
    - http://forum.unity3d.com/threads/202136-Chrome-Blocking-NPAPI
     
    Last edited: Jan 24, 2014
  4. Tim-C

    Tim-C

    Unity Technologies

    Joined:
    Feb 6, 2010
    Posts:
    2,225
    It's about 2 things, downloading webplayers and maintenance cost.
    When you play a webplayer game, if you have a compatible webplayer version we don't download a new one. So if you made the game on 4.0 and have a 4.1 webplayer we will use this, if you also had a 4.0 webplayer we would favor the newer one (I believe). So webplayer stuff if forwards compatible. You'll only ever get a new one if gameversion > installed web player version. When we roll forward to a new non backwards compatible webplayer it means that the userbase gets split, we have less people using / reporting bugs against new unity, users are forced to download an older webplayer if they launch an older game ect.

    When we 'stop supporting' a web player we don't really 'stop supporting it'. We need to port things like security fixes into each version of the webplayer that has issues. The more times we break backwards compatibility the more things we need to maintain. It's unfortunately a non trivial amount of work :(

    Not breaking backwards compat has other costs for development. In the code we sometimes have things like:

    Code (csharp):
    1.  
    2. if (player_version > 4.2)
    3.   DoCorrectThing ()
    4. else
    5. {
    6.   // we did a dumb thing and it was wrong, but because people have games published
    7.   // we need to preserve the behavior if they build with an older version.
    8.   DoOlderBrokenThing ()
    9. }
    10.  
    That being said if they upgrade their project to a newer version and rebuild it will go through the newer codepath... but they may need to change some code / assets to still have desired behavior.

    As the web moves away from plugin architecture it's going to be interesting to see how unity changes and evolves. One thing that would make me very happy is if every version could be backwards compatibility breaking...
     
  5. jcarpay

    jcarpay

    Joined:
    Aug 15, 2008
    Posts:
    561
    Very interesting indeed. If there 's anything you would like to share with us... :)
     
  6. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    Do you mean in the sense that is would make things easier for development and innovation if some changes simply meant that it broke compatibility with older versions? If that is the case, I can understand why...you have already hinted that it takes a lot of work to maintain that compatibility. I mean...who wouldn't want Unity to move forward in features, robustness, ease of use...etc etc?
    But this basically moves the maintenance effort to customers, instead of UT. I think the cost of Unity would have to be "balanced" :)
     
  7. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Isn't this telling you much more - especially as a beginner - than just having "var", or "List"? Also, isn't it nice that the compiler tells you "hey buddy, you really can't put a string into the Vertex-list, kkthx!?!?" during compile-time - instead of getting crazy random runtime CastExceptions that are terribly hard to debug?

    I can see that the syntax may be a little weird for someone who's not familiar with this way of writing "this is a list of objects of type Vertex" - but once you know how this written, I think it's really much easier to understand than something like: var whatever = generator.GetVerts()?

    Btw, is Vertex a new class or is this just pseudo-code and this would usually be Vector3?
     
  8. Breyer

    Breyer

    Joined:
    Nov 10, 2012
    Posts:
    412
    Thank you Tim! its interesting infos - we knew some of them from Unite but there is some additional clarification ;)

    i have two questions:

    -we can calculate vertex for text so we can now build curve-based label for ourself? or it will be built-in ;)?

    and essential question: How long is "mother* close" for you? Answer not required xD
     
  9. KyleStaves

    KyleStaves

    Joined:
    Nov 4, 2009
    Posts:
    821
    One thing to keep in mind with this API is that there will be Unity-shipped components that use the API for you. Think the GUIText component that already exists - you don't need to know what it's doing in terms of utilizing the API. However, if I come along and the Unity provided GUIText doesn't do what I need it to do, having that API allows me to build an alternative that still utilizes the base of the GUI system.

    Today a big problem is that we basically have a lot of different all or nothing approaches to the GUI. Either we use OnGUI, or we use NGUI, or we use DFGUI, or maybe 2D Toolkit is good enough.

    Imagine instead of that we have a shared base that handles what all of these solutions re-implement and we can end up with a set of libraries that, instead of all being built on a different incompatible base, are all built on the same base. If I like the tabbed panel from DFGUI, but I prefer how NGUI solves drag and drop I can utilize a combination of both without utilizing two different atlases and base approaches.

    That's not to say other from-scratch implementations won't continue to exist and thrive, personally I'm just excited to ditch those in favor of a more "component pack" oriented approach to creating a robust GUI library.
     
  10. Aiursrage2k

    Aiursrage2k

    Joined:
    Nov 1, 2009
    Posts:
    4,835
    So is the new GUI going to have a UI so artists can make the GUI rather than forcing the programmers to do it. Think about visual basic so they can create the thing using it then you double click it to bring up the code.
     
    Last edited: Jan 24, 2014
  11. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    I'm glad to hear that some people on the inside are thinking similarly. I'm not anxious for it to happen too soon, but there are definitely areas where I'd like to see Unity shake off some old baggage in ways that couldn't avoid breaking existing code. But, as I said, that wouldn't upset me because I won't start something (professional) in Unity X unless I'm confident that Unity X can already achieve it. As such, if Unity X+1 is an upgrade I can't make for a particular project because it's incompatible or the required changes are too big then that's not actually a problem. And if the incompatibility means that future work started from that base is easier/better/otherwise improved, I'm all for it.
     
  12. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    9,052
    One of the nice things about Unity is the ability to run multiple versions. (I am currently having to run 3 different version for compatibility on different projects.) When it comes the point that a major shift comes, as long as that ability remains, it shouldn't be a huge issue with regards to maintenance. I had just started a proof of concept project as 4.3 came out and got a chance to really dive in to the 2d stuff, but our big project is still on 4.2.2 and too far along to even consider upgrading. It is nice not to be locked into a single version.
     
  13. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,242
    Actually, I'm very hopeful now that Tim is here sharing informations, all of which I like very much :)
     
  14. Yoska

    Yoska

    Joined:
    Nov 14, 2012
    Posts:
    188
    Sounds very exciting! Thanks for spilling the beans :D. I'm not really a paying customer but this kind of developer-customer communication is good stuff.
     
  15. Glader

    Glader

    Joined:
    Aug 19, 2013
    Posts:
    456
    The Knower, he's the One. He has the information about the GUI.
     
  16. Games-Foundry

    Games-Foundry

    Joined:
    May 19, 2011
    Posts:
    632
    This is pleasing to read. And thanks for providing even the smallest hint.
     
  17. landon912

    landon912

    Joined:
    Nov 8, 2011
    Posts:
    1,579
    I was hoping Tim would be working on something a little more "Strumpy"...... :(

    At least the GUI should be awesome!
     
  18. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    Hi Unity have you considered a thread consolidation strategy on the forums, that way anything regarding the new GUI could be combined into a single thread with all the info people need?

    Or even a New GUI forum topic?
     
  19. bluescrn

    bluescrn

    Joined:
    Feb 25, 2013
    Posts:
    642
    For font rendering.

    If you want 'arcade style' fonts with outlines/drop-shadows/bevels/gradients, the standard Unity font system isn't much use, and a more flexible bitmap font system is needed.

    I've not heard any indications that Unity's font system is getting an upgrade along with the new UI system.
     
  20. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    The new GUI is based on NGUI. So the font rendering will either be pretty close or the one from the new GUI may even be better.
     
  21. Aurore

    Aurore

    Director of Real-Time Learning

    Joined:
    Aug 1, 2012
    Posts:
    3,106

    Creating a new topic will happen when GUI is actually released (or the existing forum will be changed).

    As for consolidating topics, considering our forum situation (anything like this needs testing because of vBulletins under performing) I don't think we will spend time on this. The best way to stop duplicate posts, is to report them so we can close and direct to a current topic.
     
  22. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    :( :( :( :(
     
  23. Smooth-P

    Smooth-P

    Joined:
    Sep 15, 2012
    Posts:
    214
    It's not like NGUI would be considered "good" by people who have done professional level UI work outside of Unity and actually know what good is in terms of UI frameworks anyway (though Daikon Forge seems to have lit a fire and caused some dramatic improvements, despite NGUI moving to static freaking state and losing type signatures for events so that artists who don't code can drag and drop all the wrong things). It was only "good" compared to the full retard mode of OnGUI and the high priced, high maintenance, low efficiency wasteland of Unity GUI packages and quite efficient at drawing without a bajillion GC-killing allocations.

    (You could say that it was "awesome" or even "spectacular" in that landscape, but as they say, in the land of the blind...)
     
    Last edited: Jan 27, 2014
  24. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    Unity could just adopt the current soft release system, here's the GUI it's in Alpha 0.01 you can use it at your own risk (the API could change) if you want to but we are after your feedback and want to improve it.
     
  25. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    Is there no split/merge functionality here?
     
  26. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Maybe. Maybe not. We don't know.

    What we do know is that NGUI has had some influence on the new GUI because the NGUI developer has been working for UT for a while. Now he's not working there any longer so that influence was limited.

    Personally, I think that's a good thing because I really was worried that the new Unity GUI system would be looking too much like NGUI (even though, especially when it comes to font rendering, I did like the approach that EZ GUI, NGUI and comparable systems followed because I really like creating my fonts with Glyph Designer ;-) ). Basically, when I saw that Unite presentation, I was like "ok, forget it, this is just NGUI 2.0 and I'm not too interested in that because I know UT could do so much better than that".

    As Tim explained, it's a huge difference whether you build a GUI system on top of a game engine (as was the case with NGUI or any other external GUI package), or you extend a game engine with the foundation for a GUI system (in other words: you build a GUI system or the foundation for a GUI system right into the engine), which is the case with Unity's new GUI.

    Either way I'm very much looking forward to whatever UT comes up with. They have awesome engineers working on this system, so I'm quite confident that it will be awesome, even though there's always things that will be missing:

    For example, personally, I'd love a vector-based system that always renders everything crystal sharp and allows you to easily up or downscale everything without losing quality (something like NoesisGUI would rock IMHO) - but as it looks, the "new GUI" will still be pixel-based ... which in my opinion kind of makes it an old GUI ... but then again, vector-based has it's own share of "issues" so probably there's very good reasons if they stay with pixel-based for now. I just hope they'll have vector-based "on their minds" when designing the framework so it's easy to go vector-based whenever they feel the time is ripe (and ideally then have both options available).

    If we don't get vector-based, I'd at least love to have signed distance field based fonts with awesome effect shaders (kind of like Catlike Coding's Text Box - but built in). That probably won't be in there either, I guess ... but who knows.

    It's been a long wait - too long to be worth it (I just don't think one should base one's expectations on how long it took ;-) ). But eventually we'll have Unity with an awesome GUI ;-)
     
  27. Aurore

    Aurore

    Director of Real-Time Learning

    Joined:
    Aug 1, 2012
    Posts:
    3,106
    Yes and no, I have no idea what it would actually do in production so I'd need to make sure it doesn't make explosions.
     
  28. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    Might be worth giving it a go. It's pretty darn handy!

    And I've seen a few places around here where a split or merge certainly wouldn't go astray.
     
  29. dkozar

    dkozar

    Joined:
    Nov 30, 2009
    Posts:
    1,410
    Just found the thread today.

    For me this wasn't a huge surprise as the one when Nicholas Francis left (this one was kinda predictable).

    First off, I have to admit Michael that he is the greatest negotiator ever! :)
    He clearly succeeded where the other UT employees didn't (AFAIK they all had to get rid of their Asset Store packages prior to working for Unity).

    Now, just a hypothetical question:

    Somewhere in the future uGUI has a bug. But Michael solved the issue with NGUI already.
    Is the UT allowed to use his bug fix?

    (if not, uGUI team would become flooded with user requests for fixing things... and NGUI would still be irreplaceable)

    Two more questions:

    Some say Michael left because the new GUI system is complete - but as a GUI dev I know that work on the GUI framework is NEVER complete ;)). So, what are the circumstances of his resignation?

    Who owns NGUI, or: did the UT buy the source code or just Michael's involvement?

    btw I'm looking forward to seeing the Sprite System growing in features (clipping, fonts) because I believe IT is the foundation of a great GUI system.
     
  30. Hikiko66

    Hikiko66

    Joined:
    May 5, 2013
    Posts:
    1,304
    It's not NGUI.
     
  31. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    First, I think it is pointless to discuss legal issues here. You can be pretty sure that Unity has a solid deal with Michael, such that we don't have to care about it.

    The new GUI will be using the sprite system. It was mentioned in a Unite presentation.
     
  32. dkozar

    dkozar

    Joined:
    Nov 30, 2009
    Posts:
    1,410
    Yes I know, just wanted to point out the necessity of looking at it as a foundation for multiple GUI systems built on top.
     
  33. dkozar

    dkozar

    Joined:
    Nov 30, 2009
    Posts:
    1,410
  34. AngryAnt

    AngryAnt

    Keyboard Operator

    Joined:
    Oct 25, 2005
    Posts:
    3,045
    Well actually... ;)

    (I kept Behave and Path running while at Unity and when the asset store shipped in 2010, Behave was one of the first assets on there)

    The extend to which the new GUI system is "based" on NGUI is highly overrated here. Remember that this system was in development long before Michael was hired.

    Are you seriously expecting UT to comment on internal HR matters in a public forum to an uninvolved third party? ;)

    As far as I know, NGUI was never something UT wanted to buy and has always remained Michaels property. How would the opposite ever make sense?

    Just to clarify: I'm also not working for Unity anymore and so I cannot speak on their behalf. However this thread was a bit too tasty for me not to touch ;)

    And the circumstances of my leaving was: WOHOO! (out exploring after four years of the same thing)

    the end.
     
  35. Smooth-P

    Smooth-P

    Joined:
    Sep 15, 2012
    Posts:
    214
    Exactly, a good UI framework is predicated on having a powerful and sensible user-facing API designed around UI concepts / semantics that makes it easy to declaratively design and maintain good UIs. The framework then does the hard work of translating that user-facing API into the underlying low level draw / event layer.

    This is a major undertaking, and the efficiency of the framework depends on the functions of the low level API. As much as I'm a fan of NGUI compared to the alternatives (Daikon Forge notwithstanding), to have a truly good UI framework requires both better, deeper hooks into the underlying layer and a high level API designed by people who actually live-and-breathe UI APIs and have done best-of-breed framework design outside of the wasteland of game dev.
     
    Last edited: Jan 29, 2014
  36. dkozar

    dkozar

    Joined:
    Nov 30, 2009
    Posts:
    1,410
    This is very well said!
     
  37. dkozar

    dkozar

    Joined:
    Nov 30, 2009
    Posts:
    1,410
    You're THE MAN!! ;)

    However, I believe you were not in the conflict of interest (don't know about your sales, but I guess the conflict rises with the amount of $$$). :)

    Dunno, from the last GUI presentation (Unite 2013) I remember two things: 1. "Scrap it" and 2. NGUI becomes new Unity GUI. But perhaps I misunderstood something :)

    No... hehe... this kind of metter is clearly discused only in pubs. So gotta wait.. ;)

    Yeah, we know. And it was a sad day for Unity (it felt like things started falling apart). :(

    I'll never forget them they ever let you leave. ;)
     
  38. Deleted User

    Deleted User

    Guest

    Personally, I'm more interested in delay's than the GUI. It has no relative function for our project and as GUI replacement our 3rd party vector based system or even Daikon Forge can do the job sufficiently. The only concern is lack of feedback and delay's and I believe this factors past the GUI system. No way anyone in serious development can wait for a feature set to come out especially with closed quarter communication, with all the different options this whole GUI thing has become a bit of a moot point.

    What I'd love to see is Unity open up a bit like they used to do and for people not to bite them when they try to communicate, don't go down the path of other well known developers.
     
    Last edited by a moderator: Jan 29, 2014
  39. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    Yeah, but nor should you be. You should really only be planning based on tools that are currently available, and if you choose not to do that then you should understand that you're putting yourself in a super high-risk position.
     
  40. jcarpay

    jcarpay

    Joined:
    Aug 15, 2008
    Posts:
    561
    With Unity having dropped support for Flash, Google Native Client and not to even mention the currently half broken Unity Webplayer. Even planning on the tools available appears to be a high risk undertaking these days.
     
  41. AngryAnt

    AngryAnt

    Keyboard Operator

    Joined:
    Oct 25, 2005
    Posts:
    3,045
    Y'know that might be worth a bug report ;)

    Regarding flash and native client, those products were never broken - just taken out of production. Again, everyone working with those products still have them and they still work exactly the same as they did before.

    Does it suck that future features don't land there? Yes. Very much so. But you were planning for future feature X? See above.
     
  42. jcarpay

    jcarpay

    Joined:
    Aug 15, 2008
    Posts:
    561
    Although the flash add-on has its problems for sure, I've never said flash and native client were broken products. It's reasonable to expect bug fixes and new features when buying a Unity product. 'Just' taken out of production is exactly the problem. It makes future planning hard and risky.
     
  43. AngryAnt

    AngryAnt

    Keyboard Operator

    Joined:
    Oct 25, 2005
    Posts:
    3,045
    It usually is.
     
  44. goldbug

    goldbug

    Joined:
    Oct 12, 2011
    Posts:
    767
    Well, suppose you need to develop 20 different things for your game, and you have done a good job breaking them down so they are independent from one another. Now suppose one of those would benefit from a feature that might be coming in the near future with Unity.

    In this case, it would make sense to prioritize the other work first, so that the odds of the feature you need being done in time are greater.

    This works fine with an agile methodology, where you don't need to plan to the smallest detail ahead of time yet it shows that there is value in anticipating what features might be coming down the road. This is not a risky position at all, the worst case scenario is that you end up developing the feature with the current available tools, but you are increasing the odds of using better tools. Planning _only_ on what is available today and closing your eyes on what the future holds is not the smartest way to go.

    That said, it would be crazy to delay a project waiting for some feature.
     
  45. BrainMelter

    BrainMelter

    Joined:
    Nov 20, 2012
    Posts:
    572
    It's good to see someone thinking things through.
     
  46. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    People are always going to bite. Especially in a community like Unity's. A professional organization is not going to accept that as a reason to have almost zero communication with its community and customer base. So far, we know the new GUI is based off NGUI, and is "MFing close". I hope that didn't set them back too many months to find the time to communicate all those details.

    The problem is a lack of information which could be communicated by UT, but isn't. So people are left in the dark. Maybe they should just come out and say "If NGUI meets your needs, the new UI willl also. Other wise, it won't".
     
  47. dkozar

    dkozar

    Joined:
    Nov 30, 2009
    Posts:
    1,410
    They clearly DID communicate just that (rather than keeping it in the dark):

    [video=youtube_share;5wcODp8Sh8o]http://youtu.be/5wcODp8Sh8o

    However, once again it turned out it was not wise (?).
     
  48. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    Which was posted on You tube 4 months ago based on the Unite 2013 conference earlier that year. Yes it does show progress or NGUI style features in Unity but then we have had a 2D sprite release which has a lot of the features needed for a GUI but the GUI and 2D system were separate threads that would then need to be merged.

    But since then we have heard very little apart from the response this speculation thread has raised so vehemently from Tim.

    Unity have said that the GUI is due out in 4.x but then left us in the dark. They could have been much more open without giving details and deadlines. Especially regarding the speculation that arose from the news that the NGUI developer had left, and given Unity's track record on delivering GUI's.

    To be honest I think they could have opted for a more open GUI development process, with a staged release cycle Alpha / Beta and community feedback.

    They have as Hippocoder has stated a great little community here, who have bought into their dream, they could use some of us to start with and all of us later to soft release a new GUI.

    Then build it up with features and fixes into the great GUI system we want, need and dream about.

    Why not be more open about features we know are in the pipeline, as in the dark all we have is rumor, speculation and falsehoods.
     
  49. dkozar

    dkozar

    Joined:
    Nov 30, 2009
    Posts:
    1,410
    Still wondering... will the new GUI be a port of NGUI, or actually the system presented back in 2012. :confused:
     
  50. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    Absolutely. I didn't say you shouldn't take advantage if it does come along, I said you shouldn't rely on it in case it doesn't.