I have been using NGUI on a project for a couple of weeks now, and i am very happy with it. I do however have a few suggestions for it. That i hope could be implemented in the future.
- BUG - Clipping sprites when building atlases over 2K
This is the only bug i have found so far. When building a atlas that should end up being over 2K in size, NGUI will clip the sprites down and put them in a 2K atlas.
I would like to see some more control in the UILabel component. Especially the ability to set character spacing. I know i can set this on the font prefab. But i see no reason why you shouldn't be able to set this individually on each UILabel.
Some other controls like individual character rotation and stuff like that would also be nice. But perhaps this functionality should be put in a separate UILabelPluss component to not clutter things.
By this i mean that in addition to stretching the middle quads of a sliced sprite, you should also be able to use a tileable texture similar to the Tiled Sprite, and have it repeat when increasing the size of the tiled sprite. This way you could use patters on the entire sliced sprite.
- Progress bar when building atlas
Sometime it can take a while, some progress feedback would be nice.
- UIAnchors camera selection
Pleas make the UIAnchors search upwards in the hierarchy and set the first camera they find as its anchor camera upon creation. I have a 3D camera and a UI camera in my scene i have have to switch it on every single anchor i create.
- Better pixel perfect support when using 3D camera
This one might be a bit tricky to achieve. But with my current project i have to use a 3D camera for the panel transitions im using. But i can be a bit tricky to get all the elements pixel perfect when they are not animated.
Perhaps you could scale anchors based on their distance from the camera. So child objects of the anchor will be pixel perfect when in the same Z plane as the anchor.
- Mesh based font rendering
By this i mean that you could use meshes rather than bitmaps to draw text. A bit like what something like RageSpline does.
This would be rather massive thing to implement so i guess this is more like a "sometime down the line" request.