I was wondering if there was any time frame as to when the GUI system in Unity might be overhauled?
As past doing very simple UI stuff which we are not it has major issues that never seemed to be discussed or resolved. The IMGUI concept is sound in theory but the implementation of it currently isn’t there yet.
If there isn’t an update soon I expect we will have to write our own from scratch for our projects next stage as we have lost too much time battling this in our prototype stage.
The biggest problems are to do with the lack of a coherent system for window ordering and child windows, poor documentation on anything past the simple concepts (having to use reflector to dig into the internals is far from ideal), and it makes it far too easy to write code that generates errors and takes the whole UI out.
We have a complicated UI up and running with drag drop between multiple windows, tabbed windows and much more which almost’s works but falls short because of these reasons.
There’s a difference between an API being ‘broken’ vs. it being difficult to do complex things with a simple API. For the type of UI you describe, I would expect you would develop your own UI toolkit on top of the low-level Unity GUI APIs. But before calling for Unity to be ‘fixed’ or throwing the baby out with the bath-water, I suggest taking a look at some of the existing GUI toolkits that have already been implemented on top of Unity GUI. GUIX (GUI Extended) is a well known one, and perhaps the most mature and complete, but there are several others to choose from as well.
You might check out EZGui as well.
Actually I think you misunderstand I quite like the API as it stands but it currently has some fairly core design implementation issues in the areas I stated that make it difficult to build a reliably working extended UI on top of it using a similar philosophy.
We HAVE built our own UI tool kit on top of it - and we want to continue doing this rather than rewrite our own UI from the ground up without using the Unity UI base functionality - which we would have to do currently to make it work reliably.
I am sure they will eventually fix many of the problems but whether its in time for when we need is another matter of course. So really I was curious if there was any known roadmap or improvements planned in the near future.
I have noticed things like between Unity 2.6 and 3.0 (We are upgrading after our next milestone) things like window callback functions Repaint event orders have changed (repaint events seemingly being signalled now on window composites rather than on I assume what is render to texture time in 2.6) which I hope may fix some of the problems we have come across.
I guess my biggest frustration with it as a core base layer GUI to build stuff on top of it is close to being very good but just currently falls short and I want to know when this will be improved.