Does anyone know if Unity is focused on improving its out of the box UI components? Or will this functionality be permanently relegated to the Asset Store?
Thinking back, even Visual basic 3 (1991) had completely functional Forms, sortable List Boxes, grids, etc. It would be nice if Unity tried to mimic the default controls that ship with Windows Forms applications - proven UI controls which have been around for decades.
It’s probably appropriate to relegate them to the Asset Store rather than bulking up UnityEngine.UI. Most people are making Crossy Road and Superhot, not Microsoft Excel. I’d rather the Unity team focus on refining the performance of the core UI components and leave the more elaborate components to Asset Store developers.
Agreed - but it’s worth noting that with hololens and the like on the horizon - there might be a lot more traditional apps written in 3d in the not so far future.
I agree as a higher level out of the box set of features then lets asset store developers provider higher level features again and provides new developers a better toolset.
Unity could have a richer base set of features across all aspects of the engine. This would benefit everyone and allow asset store developers to make higher level items as opposed to leaving developers to try and fill the gaps with disparate asset store solutions that they then have to get working together.
There is a reason why applications developed in Visual Basic and now Windows Forms are so successful for small time applications. Having a default set of controls does not in anyway mean that we are trying to create an MS Excel LOL.
I’d argue that many people are making RPG games, so not having a basic set of UI controls like Forms, sortable Listboxes and Grids is annoying, even for an experienced programmer. IMO, the ScrollView doesn’t go far enough.
In addition for a simple form like this one I really shouldn’t need to buy an asset. In VB or Windows forms I can recreate this in less than 5 mins (with multi-selection and sorting). I’d just create a form, drop two listboxes, and a few buttons, and some very simple event code and I’m done. I could do this quickly in 1991, but not in 2017 with Unity.
I totally agree, in fact in the Windows space (for VB and Windows Forms) entire companies like Infragistics sprung up.
They made a fortune despite the development tools providing high level out of the box UI controls.
There really isn’t much to think about in this regard… These are simple problems that were solved a long time ago in the application space. IMO, there is an opportunity here for Unity.
oh but you know us programmers, hording on to our code… not letting anyone get a free ride. sure, I’d be more than happy to contribute. I’d just rather finish my game first
I learned to develop using Borland’s Turbo Pascal and it’s amazing Delphi programming tools that included an amazing RAD IDE framework well ahead of MS’s toolset (circa 1995).
It’s sad that we sometimes go backwards and not forwards with technology.
That would be nice, but it’s not something every game has. Like @TonyLi points out, most people are making pretty basic things and Unity has a huge share in the lightweight mobile market. Adding more to the UI system could very easily lead to bloat that the bulk of the userbase doesn’t want or need. You can simply extend it yourself or get addons from the store to accomplish your scope as needed. This is how Unity is designed.
Also, VB was basically defined by that feature. Unity is defined by its flexibility.
I might agree that the default UI shipped with Unity need not provide all the common components that are used in desktop applications. But I think they should at least provide a solid ground to build such components upon when needed, which seems to be lacking at the moment.
Things like localization or styling of UI components better be supported out of the box with editor suppport, while the role of providing more number of components can be delegated to the Asset Store.
I really wish they would focus on polishing up the ugui components with better features… to this day the scroll feature still treats mousewheel up/down scrolling like 1 pixel up/down when scrolling text with the mousewheel lol… I mean its just extra shit you have to go in a fix.
… and add a decent scenetab that is specific for working with ugui components (without having to micromanage the rest of the scene hierarchy shit so it doesn’t distract or block ugui components in view or making your workaround solutions to it.) plus some decent grid layout feature wouldn’t go a miss…including a better way to check layouts for the all fucking mobile devices and their varying screen size differences.
Anyway the UnityUIExtensions / Unity-UI-Extensions / wiki / Home — Bitbucket is what I use… not exactly super polished either, however it does bring in some useful improvements and additions plus the source is directly in your project to make minor/major changes to those components… instead of faffing about getting the official unity source for it and trying to make changes to that etc
If unity ever did polish its ugui system /components to compare with MS winforms etc… I think many would want to make non-games with it… its super easy and cross platform deployment isn’t as a big fking over complicated poorly documented retarded mess like dealing with other multi platform frameworks I wont mention because they all really suck in some way or alot of ways. I mean unless you’re getting paid to deal with that shit then yeh you’d get used to it.
Styling of ugui components is what I keep hoping the nested prefab implementation will focus on alleviating and making easier to do because to me the nested prefab implementation should complement ugui the most so its at least useful to see the benefits of using it for something.
localization support isn’t much of a problem … unless unity want to add an official way of doing it with ugui… doubt it and i’d rather see improved components and more of them,
Where ever you set the base level for ‘core’ features, the asset store will always be seen as ‘filling the gaps’.
I don’t disagree with your general point. I just don’t think that Unity can ever get to a level where there isn’t something on the asset store that could be engine tech.
You have to keep in mind that the average application almost never varies in terms of UI appearance and behaviour from another application. Providing a set of common controls is thus very easy for application development.
Games are a completely different matter. Often games will have completely different UI behaviours in addition to completely different appearances. What may have worked for one game may not work for another.
Unity’s approach isn’t even unique to Unity. Unreal uses the same approach of providing the building blocks and having the developer assemble them in the manner needed.
I am developing a standalone node based editor with unity at the moment, and even though some extra widgets/components would help, its not as limiting as i thought it would be if you have a more modern-gaming approach to your UI. Here is a wip of my editor application which is basically a direct copy of the discord ui , since i spent a lot of time on discord while developing it
On the other hand, for more traditional tools winforms is just fine!