I’ve been working quite a bit with the user interface system Unity released with their version 4.6 and before that I worked extensively with the NGUI that the current system is based. The UGUI as some call it has been a big improvement over the OnGUI systems that were used back in the day.
However I have seen a lot of Unity games in GameJams, Greenlight and Itch.io really lacking when it comes to user interface. Sure many of these games made by hobbyist or less experienced game developers and programmers but a lot of these games could be a lot better if there where more (Free) generic re-usable elements available.
So I decided to start a project that aims to remedy at least some of these problems by offering some more or less generic re-usable customizable components, elements, features along with some examples on how to use them to build a more rigid and flexible user interface for games.
- I started off by making a Window element that user can drag and resize as well as minimize, maximize and close.
- Then made a generic Form element that stores references for controls/components found in child objects like Text, Slider, Button, Image, toggle etc which makes them fairly easy to access and modify on run-time.
- Made few dialog boxes for notices, confirmations, naming
- Started working on a simple settings window where user could change the control settings of the game.
- Which wasn’t as easy as I though it would be because Unity doesn’t allow changing built in inputs on run-time so had to make input system of my own.
The project has already given me some ideas on what to talk about on this blog. The project will be freely available and open source some time in the future.