Search Unity

New Unity UI 4.6 thoughts - design issues

Discussion in 'General Discussion' started by EBR, Aug 21, 2014.

?

Do you think the new GUI is lacking?

  1. No :)

    63.6%
  2. Yes

    32.5%
  3. Old one was fine...

    3.9%
  1. EBR

    EBR

    Joined:
    Jan 27, 2013
    Posts:
    117
    Hi,
    I just downloaded the new unity 4.6 public beta and messed around with it. Although I like the new system and a lot of it's features, I think there are some flaws in it, and I do realise that this is a beta and it isn't complete so don't worry. I am just writing my thoughts feel free to write yours to, I would love to hear your opinion.

    Okay so, I have a multiplayer game which relies heavily on GUI to host a game, view others' games, chat, lobbies etc. and being a multiplayer game there is a lot of code that needs to be run for every button, it isn't as simple as enabling or disabling an object which is pretty much as far as the new GUI can do at first glance. It is probably possible to convert my project into the new GUI system but from what I can see it is harder to do that than actually use the old GUI itself. This isn't a rant I am just wondering if I am missing something. Because although the old GUI is hard to use, it can achieve more in code. I am wondering what everyone else's opinion is on this.

    Overall, I do like the GUI system but it seems a bit lacking for my needs.
     
    crodriguez likes this.
  2. User340

    User340

    Joined:
    Feb 28, 2007
    Posts:
    3,001
    They already said that they knew that they weren't going to please everyone. And that's part of the reason why they are open-sourcing much of the new UI.
     
  3. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    I haven't looked at it, but I suggest you are indeed missing something in so far as it's meant to be used in a completely different way. Ideally, functionality and presentation should be separated anyway, so the concept that the old GUI "can achieve more in code" seems... misguided. All the GUI should do is fire off functionality that's implemented elsewhere. In that context, along with the new event/messaging system I've read about I expect that the new GUI is all over that.

    You mention text chat in multiplayer, for instance. From the sounds of it, your GUI code is also where the message sending and receiving happens. Is that the case?

    In the new system, you'd have a separate component that sends and receives the text messages, but does not display them itself. When it receives a message, it would fire an event informing anyone who cares about it. The GUI would be listening for that and, when it gets the event, would add the new message to its display. Similarly, when the local player types in a message and hits the send button your GUI would fire an event about it. The other component would be listening for this and, when it gets the event, would package up the text message and send it over the network.

    In this manner, the sending/receiving of the text messages and the display/input of them are completely separated from one another. There's a huge number of advantages to this.
     
    melkior likes this.
  4. Enoch

    Enoch

    Joined:
    Mar 19, 2013
    Posts:
    198
    http://unity3d.com/learn/tutorials/modules/beginner/ui

    There is an events and event triggers video. It should explain how to hook up events. I haven't tried hooking up events directly from code only (not on the inspector) but I bet its possible in some way. In either case hooking the event from the inspector within the editor looked pretty easy and you can target your own methods within your own components. It sounds like that would cover your issue.
     
  5. Deleted User

    Deleted User

    Guest

    It's only been out a day!. Give it time.
     
  6. randomperson42

    randomperson42

    Joined:
    Jun 29, 2013
    Posts:
    974
    I would say you are indeed missing something. You can still code just about as easily as with the old UI, using events. It's just that now you can setup the layout and appearance in the editor - visually, instead of having to program the layout in code.

    Before, you had to code, test, code, test, code, test - until you got it to look the way you wanted. Now, you can just set everything up in your scene the way you want it to look.
     
  7. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,408
    If you find something please take the time to provide them with feedback in the beta forum
     
  8. superpig

    superpig

    Drink more water! Unity Technologies

    Joined:
    Jan 16, 2011
    Posts:
    4,660
    You realise that a UI Button is capable of calling pretty much any function on your scripts? You just wire it up. IIRC you might need to make the function in question public, but other than that it should just work - your 'lot of code that needs to be run' can just go into that function and then the button can be wired up to call it.
     
  9. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
    I dont really see what can't be done with pressing a button in the new system. Call a function is all that's needed to make things work.

    Check the official video here:

     
  10. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,502
    I've barely scratched the surface of the new event system but it already makes me very happy, oodles of potential :)
     
  11. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    I'm rebuilding a scene that has NGUI to use the new UI. So far, it's an absolute dream to use, easy workflow, and I'm needing far fewer extra scripts.

    The crux will come when I try to make my multi-panel multi-channel chat window, which is the single most complex piece of UI in the whole game, by some margin.
     
    iKonrad likes this.
  12. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    I'm looking forward to doing the same. Not sure I want to do it with a beta, though...
     
  13. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,408
    @angrypenguin

    i switched to the beta the minute it came out and i can say after working with it all day that it is very stable and that it appears to have all the latest fixes already rolled in and that i was able to just work with my existing project without any noticable problems or issues. sure i was concerned i would run into problems and it would slow my development down, but after using it for a whole day i can say it has not and in fact it has already helped me by identifying areas that i need to change in my code because they going to be different in the future and i now know because of the warnings and by allowing me to start using the new ui and not waste any more time, money effort into the existing ui. so im very happy and i look towards continuing to use it and look towards the day they finally release it... my only wish is that they do public beta for 5.0 and not just pro owners so that i can also start using some of the new stuff that i saw in the unite 2014 keynote...
     
  14. Devil_Inside

    Devil_Inside

    Joined:
    Nov 19, 2012
    Posts:
    1,119
    Haven't tried it yet, but judging by the videos, this does look like a solid and a very well thought system.
     
  15. EBR

    EBR

    Joined:
    Jan 27, 2013
    Posts:
    117
    @derkoi I am sure with a lot of work it is possible to what I want, but it will be very hard due to the restrictions of the system and my purpose for it.
     
  16. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    What kind of restrictions do you mean?
     
  17. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    @im, it's less the GUI I'm worried about and more the beta version of the engine as a whole. We'll see, though... being a hobby project my curiosity might get the better of me...
     
  18. djweinbaum

    djweinbaum

    Joined:
    Nov 3, 2013
    Posts:
    533
    Darn that's super annoying. I thought the question was if I thought the new gui is awesome so I pressed yes. I can't recast my vote :(. My false vote is skewing the data a bit. I'm very enchanted by the new GUI.
     
  19. Devil_Inside

    Devil_Inside

    Joined:
    Nov 19, 2012
    Posts:
    1,119
    Can you explain what's the problem you have?
     
  20. Rajmahal

    Rajmahal

    Joined:
    Apr 20, 2011
    Posts:
    2,101
    Haven't had a chance to download it yet .... is it that different from the latest version of NGUI? Just wondering how much effort will be needed to learn it coming from an NGUI background.
     
  21. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    As others, I'm interested in knowing what you're trying to do. Despite not having checked out the new system yet I really doubt that it's "restricting" you from doing anything you could do with the old system. To the contrary, from what I know of it I think it's likely to be far more flexible, rather than less.

    What's the issue? We may be able to help.
     
  22. Tanel

    Tanel

    Joined:
    Aug 31, 2011
    Posts:
    508
    It's quite intuitive, if you're used to NGUI it'll take no time at all to get used to it.
     
    Rajmahal likes this.
  23. iKonrad

    iKonrad

    Joined:
    Jun 23, 2013
    Posts:
    179
    I've been using NGUI for my previous project. With my current one, I've been holding with GUI design for the 4.6 version to appear.

    Now, after playing around with the UI features I must say: It's freaking pleasure to do GUI now.

    The rough structure is basically the same - You've got a panel (canvas), that contains all the different UI items.
    Anyway, in terms of simplicity, workflow and intuitiveness, the new GUI is a hundreds miles ahead of the NGUI. It doesn't create that confusing UI tree in your Hierarchy, and provides lots of new functionalities (I liked the new Animations and anchors features the most!).

    Before I started doing some GUI in 4.6 I was afraid that I'd need to learn all the new things. But fortunately, the uGUI works just as expected.It's easier, tidier, simpler, less confusing and more powerful.

    By the way, do I sound like a salesman?!
     
  24. Rajmahal

    Rajmahal

    Joined:
    Apr 20, 2011
    Posts:
    2,101
    A little bit ... but that's cool. Are there any major downsides to the new GUI as compared to NGUI? Performance on mobile still good?
     
  25. alt.tszyu

    alt.tszyu

    Joined:
    Nov 12, 2013
    Posts:
    110
    Just finally got the chance to download. First thing I looked at was the docs, so far so good. Haven't actually got around to messing with the new UI, but will give update later if I have time.
    The only problem I have with is this in the Canvas doc, "no example available in C#."

    Booooooooooo! Hiss!
    I mean who uses UnityScript anymore?
    <hides behind nerd rage wall>:p
     
  26. EBR

    EBR

    Joined:
    Jan 27, 2013
    Posts:
    117
    @alt.tszyu They are still updating the docs so, I am sure it will be up there soon. Also I remember hearing that all the documentation will be defaulted to c#
     
  27. EBR

    EBR

    Joined:
    Jan 27, 2013
    Posts:
    117
    @Devil_Inside @Dantus, I have tried fiddling around and I can't find and easy way to display a list but as GUI. So as I update the list in a script, the various gui elements linked to the list will update and. As well as this having multiple menus is tedious. In my current set up I have 2 main scripts, a networking script and a gui script. They both heavily rely on each other, but it is a very neat setup. However with the new GUI, I would have to have a lot more individual scripts based on single GUI elements.

    I did not mean to make the new GUI system seem bad, I really like it. It just doesn't work with my current set up. However if I were to start a project from scratch I would use the new system. I just think that it is hard to convert from one to another.
     
  28. superpig

    superpig

    Drink more water! Unity Technologies

    Joined:
    Jan 16, 2011
    Posts:
    4,660
    If you're coming from using the old GUI, then the reality is that there were no GUI elements 'linked' to the list - it's more like you were recreating them every time OnGUI was called. While this made it easy to get changes reflected in the GUI, it was also horrendously inefficient.

    The new UI avoids such repetitive work - it's all built around only doing work when things have actually changed. This is much more efficient but it does mean that you will need to make sure you're communicating to the UI when things have actually changed, e.g. by calling a function that rebuilds your UI elements.

    I've built a seven-page menu system using exactly one script. I'm not sure what individual scripts you think you're going to need?
     
  29. EBR

    EBR

    Joined:
    Jan 27, 2013
    Posts:
    117
    Okay, i'll try again and see what I come up with. :)
     
  30. Deleted User

    Deleted User

    Guest

    I've been dying to say this for a while now, but wasn't allowed to. The 4.6 beta is the most stable release I've used yet, great way to finish off a cycle.
     
    Ryiah and angrypenguin like this.
  31. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
    As others have asked, what exactly are you trying to do? People here will be able to help you more. :)
     
  32. landon912

    landon912

    Joined:
    Nov 8, 2011
    Posts:
    1,579
    They said a while back that they planned a 4.7 release focussing on Windows Store and WP8, with 4.8 containing "other features". Is this not the case anymore?
     
  33. Deleted User

    Deleted User

    Guest

    I've not a clue to be honest Landon, they might do.
     
  34. Staples

    Staples

    Joined:
    Jan 14, 2009
    Posts:
    224
    I don't suppose the new UI has built in dropdown support yet ;/
     
  35. Aiursrage2k

    Aiursrage2k

    Joined:
    Nov 1, 2009
    Posts:
    4,835
    Editor seems to be crashing alot, but other than that it seems good. Just like anything really it will take time to figure how to use it properly.
     
    Last edited: Aug 22, 2014
  36. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,408
    I've not had any problems while using the editor, what are you doing?
     
  37. Gigiwoo

    Gigiwoo

    Joined:
    Mar 16, 2011
    Posts:
    2,981
    Is it lacking? Yeah, a little. Most of my UI issues have stemmed from awkward decisions, such as the way Particles interact with scroll pains, or the disconnect between 2D & UI, or the use of Mechanim animations vice tweening.

    After a few weeks of ramping up on it, I was pretty fluent, and after they tweeked a few bugs, I was moving quickly. Now, I'm days from my first indie game, which is completely EZGUI free!!! VERY HAPPY ABOUT THAT!

    Gigi
     
  38. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,408
    oh but since it will soon be open source perhaps some enterprising person will create alternative version that correct those awkward decisions...
     
  39. goat

    goat

    Joined:
    Aug 24, 2009
    Posts:
    5,182
    I'd like many, many plain jane 2 tone to 4 tone modern style pictographs of representing common behaviours and nouns to use with new uGUI.
     
  40. tswalk

    tswalk

    Joined:
    Jul 27, 2013
    Posts:
    1,109
    I said yes only because I know that while it will greatly help produce a better interface for my game, it doesn't help me at all to improve my tool creation for the editor.

    well... not that I'm aware of at least... perhaps being open source there are some chunks of meat I could chew on it. I have yet to look.
     
  41. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,853
    Heh.. You said Scroll Pains.., I have those too.. Freudian slippage:) Had to roll my own scrolling algorithm as it is currently wtf!?!..out of the box..