Author Topic: (!!!) Improving NGUI: Voice your opinion  (Read 168475 times)

Ugur

  • Jr. Member
  • **
  • Thank You
  • -Given: 0
  • -Receive: 1
  • Posts: 60
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #45 on: November 16, 2013, 09:56:32 PM »
Ok =)

Regarding the builtin controls: yeah, would be good you add them, but its not just that. NGUI also needs a system like the GUISkins in OnGUI. Where it defines the settings, textures/sprites/sounds etc for all the standard elements of the standard controls once, the builtin controls come with that and when one adds a builtin control to a project it adds the textures used in that skin for that control to your atlas. If you already have sprites with those names in your atlas it just uses those so that you can reuse controls between projects more easily.

charmandermon

  • Newbie
  • *
  • Thank You
  • -Given: 0
  • -Receive: 1
  • Posts: 34
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #46 on: November 16, 2013, 11:13:19 PM »
I would greatly like multi monitor support. Right now the anchor system really only works for one monitor.  It would also be great to have moveable "dockable" GUI zones for customizing your in-game GUI interface.

« Last Edit: November 17, 2013, 10:50:08 AM by charmandermon »

vexe

  • Full Member
  • ***
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 153
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #47 on: November 18, 2013, 04:14:12 AM »
I read this thread when it had 0 replies - But didn't have to write my opinion.

1- @Aren: you said it in Unite 13 "Atlases suck!" - And they do suck, hard! - They break a lot! - And, what if you wanted to change your atlas for your UI? - You'd have to go to each widget that used the previous atlas and change to the new atlas instead, ahhhh.........
I really wish to see atlases removed - And provide us a better/easier way to manage sprites with good performance and number of draw calls.

2- Better clipping - and an effective and easy way to create a modular clipping panel (http://www.tasharen.com/forum/index.php?topic=6572.msg31021#msg31021)

3- Advanced UIInput (I would really love to see this) - Supports putting the mouse caret where user clicks and highlighting text. (http://www.tasharen.com/forum/index.php?topic=5725.msg27141#msg27141)

4- Letting the UI event type, detect colliders on disabled widgets? That would be nice me thinks.

5- An easier way to create modular UIs?

6- An easier, less pain in the butt workflow in general :D

7- Less painful migration operation in major upgrades - (Unlike 2.x to 3.x - where I had thousands of code depending on the old system - I had to recreate the UI from almost scratch to keep up with the new stuff, please make it less painful next time...)

8- More "advanced stuff" (mainly coding-related) NGUI tutorial videos?

9- Lastly, the thing that really sucks about NGUI from the beginning: THE DOCUMENTATION! - It's always been known that NGUI documentation is the worst thing in it, it's a lot more developer-oriented than user-oriented - Very little info on it, barely the name of the methods and their parameters... ahhh come on! - Please make it better, add more details, examples, etc. I really think that if the docs where better, you would have a lot less pressure on you in the Forums.

Thanks! :)

Isamson

  • Jr. Member
  • **
  • Thank You
  • -Given: 0
  • -Receive: 1
  • Posts: 52
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #48 on: November 18, 2013, 10:53:06 AM »
What I'd like to see is a style associated with fonts, something inspired of the styles in word. You could create some styles (title1, title2, tooltip, etc.) that could be changed and mass-updated.

This would really same me time when my producer decides that this font needs to be changed or that the color for these titles are off a little.
Unity 4.5.3f
NGUI 3.7.0

jingato

  • Newbie
  • *
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 15
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #49 on: November 18, 2013, 11:49:45 AM »
The biggest thing I would like is the ability to have parameters in the events for buttons. I wrote my own behavior to it, but it would be nice to have it built in to the UIButton with the new event system.

I've attached my version if anybody wants to try it out.

Ferazel

  • Full Member
  • ***
  • Thank You
  • -Given: 1
  • -Receive: 2
  • Posts: 150
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #50 on: November 18, 2013, 01:29:59 PM »
I'm really looking forward to transitioning to uGUI. The only concern is that we've been really spoiled by your ability to push out fixes and new versions quickly and efficiently. So my request is to see if we can make sure that we can maintain some sort of ability to download updates without waiting for new Unity versions.

In regards to GUI functionality and some holes that I see in the functionality.

Text Flow: The biggest request by far, but I'd really love to get some text flow improvements. This would include functionality such as having text flow along a a curve or other shape. This would allow you to make a label fill a non-rectangular shape such as around a circular UI element. I'm not sure how you'd do this other than maybe making a new subset of components (similar to tweens) that would alter the flow of text along an animation curve or something. Another part of this feature would be to allow text to have flow elements that it would watch out for and would create new line breaks based on the collision with these elements. For example, if I have a sprite in the upper left of a text area, the label would automatically position itself in the UILabel where it would not overlap with this sprite. Having this done dynamically would greatly help with localization.

Dynamic Font Emoticons:  This is pretty self-explanatory, but having an easy way to embed sprites in a UILabel would be great. Having some advanced parameters could also be great. Such as [#spriteName#DEPTH:-1#SIZE:32x32] to get a sprite rendered below the label's depth at a size of 32x32. The reason to specify the depth is to try to get this sprite to batch with the other sprite elements could be +/-. The reason to specify the size is that if I want to downsize a larger icon to fit into the label, I may need to shrink it to fit it into the space. Or the sprite that I'm using may not be square. Then being able to link to an atlas on the label that the text would automatically space appropriately to fit.

Multi-Edit UITexture: This is a relatively small request, but since you added it for some of your bigger ones (UISprite and UILabel), I thought I'd request this one as well.

Android Mouse Support: Another minor request, but having supported Android mouse support implemented into the tool would be nice so that I don't have to worry about it being overwritten by updates.

Non-Rect Sprite/Texture Mesh: I'd like to be able to specify a mesh for sprites if desired. So that I can provide a mesh that is non-rectangular in order to cut down fill-rate if there are large portions that are alpha. If it came with a snazzy editor that'd be sweet too, but at the very least a link to a custom mesh if desired.

Obviously, these kind of features are pretty advanced. I really appreciate you asking the community for some feedback. I hope that after uGUI you might work on integrating TNET into Unity. Although I have a feeling that keeping up with community requests and bugs is going to be a full-time job. :D

N3uRo

  • Guest
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #51 on: November 18, 2013, 01:39:49 PM »
So my request is to see if we can make sure that we can maintain some sort of ability to download updates without waiting for new Unity versions.

I'm also interested in this part. What do you have to say Aren/Unity?  ;D

indiefreaks

  • Newbie
  • *
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 27
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #52 on: November 18, 2013, 05:51:34 PM »
Hi Aren,

I read all the threads and I really appreciate most of the feature and improvement requests posted by other devs here.

Something that I'd love to see as part of NGUI is a dedicated tool where my UI hierarchy would have its own Unity Editor Window that wouldn't mix up with my game scene.
I'd like to be able to tweak my UI without having to navigate through the entire UIRoot, UICameras, Panels and so forth...
A simple NGUI Hierarchy Window with all my UI stuff there that I can click and operate directly.

As a nice to have and I can hardly see that being made for this major release, I would also love to see a design decision made on the way that you recommend using NGUI: Weither it's a simple Model-View, a MVC or MVVM recommended structure, I believe this could help developers understanding how they can get the most of NGUI.

Just my 2 cents as I'm already sold on NGUI for my current needs ;)

Thanks

OnlineCop

  • Jr. Member
  • **
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 51
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #53 on: November 19, 2013, 01:46:49 AM »
I would really like deprecation documentation (either inline, or links to external sites that could detail it). For example, in 2.7 and earlier, UITweener's 'onFinished' was a delegate. In 3.0, it is a List<Delegate>. So code that used to work with
  1. TweenPosition.Begin(gameObject, 1f, Vector3.zero).onFinished += MyOnFinishedHandler;
no longer works, and there is no documentation that appears to explain where it went, or what it should be changed to (yes, instructions are found in these forums if you know where to dig... having a nice link to them would be very helpful, though).
  1. // Deprecated functionality, see:
  2. //   http://www.tasharen.com/forum/index.php?topic=[something]
  3. // for instructions on new implementation
or
  1. // Functionality changed from 2.7.x to 3.x. To use this, you must ...

EDIT 1:
I didn't see that there were 3 pages of comments before I wrote that up, and it looks like my concerns were already shared and discussed:
Quote
I'm thinking of adding help buttons to components and linking them to posts here, where users can always ask questions related to the topic directly.
Oh well.

But, I would be happy to contribute time to expanding documentation, writing up simple tutorials for various components, etc. if that is a big task. I've always found things like user-committed tutorials to be the best part about forums, so don't mind contributing myself.

EDIT 2:
This is just a nitpick, but I notice that several files don't have any Copyright info, some do and go only from 2011-2012 and others from 2011-2013, many have different line endings (some LF, others CRLF), and encodings vary (ASCII, UTF-8, UTF-8 with BOM, ISO-8859, etc.).  :-X
« Last Edit: November 19, 2013, 02:05:57 AM by OnlineCop »

vexe

  • Full Member
  • ***
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 153
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #54 on: November 19, 2013, 01:48:41 AM »
One more thing I'd like to add - Is to make NGUI code follow the O in SOLID - Open for extension and closed for modification. Sometimes I need to create a custom type of UIInput, some of the stuff is private - why not make them protected? - I have to come in and edit your code - 'open it to modify it' - to be able to extend it.

Just a thing to keep in mind.

Thanks.

nah0y

  • Sr. Member
  • ****
  • Thank You
  • -Given: 1
  • -Receive: 2
  • Posts: 430
  • \o/
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #55 on: November 19, 2013, 05:08:08 AM »
Hey !

ScrollingList and ResetPosition
I know in our last game I had a AHAHAAAAAHH issue with this. I have a list of objects in a draggable panel, and at some point, if the user leave the screen and come back, I want to set the list on the first element again (in case he has scrolled the list). I had to use a mix of myUITable.Reposition(), myUITable.repositionNow = true and myDraggablePanel.ResetPosition to make it work. It's so f***d up that I can't even explain it lol.
What I know is that, just calling ResetPosition was offseting my list 30-40px every time I called the method...

Anchor + size
It would be great to have a way to create a group of widgets, anchor everything at the top of the screen for example AND at the same time give it a size. So we could have a group that is on top, and take 25% of the top screen.
Then we could add another group, that we anchor at the bottom of the first group, give it a 25% height also etc...

Great way to see multiple resolutions
Maybe have a window where you can see how your current UI looks like in multiple resolution. The Android team did a wonderful tool to do that, you can check this here : http://tools.android.com/recent/multiconfigurationediting and a video here (better) : http://www.youtube.com/watch?v=_Hf5P2hjv5k
PS : Bonus to also see what your UI looks like in multiple languages directly in the window :)

N3uRo

  • Guest
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #56 on: November 19, 2013, 11:05:13 AM »
One more thing I'd like to add - Is to make NGUI code follow the O in SOLID - Open for extension and closed for modification. Sometimes I need to create a custom type of UIInput, some of the stuff is private - why not make them protected? - I have to come in and edit your code - 'open it to modify it' - to be able to extend it.

Just a thing to keep in mind.

Thanks.

Same problem here.

I have extended several components and copy paste all NGUI code because it's not "protected" and "virtual".

ArenMook

  • Administrator
  • Hero Member
  • *****
  • Thank You
  • -Given: 337
  • -Receive: 1171
  • Posts: 22,128
  • Toronto, Canada
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #57 on: November 19, 2013, 06:42:18 PM »
If you guys want me to make certain things public / protected, just ask.  Another user has done exactly that yesterday, and the functionality he has requested can be already found exposed in 3.0.6.

Clipping repositioning has been fixed in 3.0.6, and the way you specify clipped areas has been amended (you can drag handles as if it was a widget).

Anchoring / stretch system is scheduled for a re-design in 3.0.7. Although as a note of warning I've attempted to do it 3 times in the past, and each time it was like pulling on a string from a ball of yarn. One change leads to another, that one leads to two more, those lead to four more each, and so on. If I was to re-design NGUI from scratch, this would be trivial -- but keeping things backwards compatible... that's hard. And it's a pain in the ass. o_o

Emoticons for dynamic fonts is indeed something I've been meaning to do, but somehow it always seems to take the back shelf...

As for updates to uGUI... well, uGUI will come with its source code being available and public for you to modify, so it would be possible to have quick fixes. Source code files grabbed from that repository will simply replace built-in functionality -- just like if you were replacing a built-in shader with your own custom one. That said, it's highly unlikely that I will be doing these fixes. I've been itching to work on game dev again, so that's what I am going to do next month onwards. Fact: NGUI was the result of me working on a game. So was TNet.

mikejkelley

  • Guest
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #58 on: November 19, 2013, 07:57:33 PM »
Playmaker Action Packs.

Skjalg

  • Newbie
  • *
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 6
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #59 on: November 20, 2013, 05:32:49 AM »
Just like with the 3.0 update, I don't really care if its not backwards compatible as long as you specify that it isn't.