Posted on March 24, 2014, by Richard Knol
Unity3D is a great tool for building games and 3D environments, but to add a consistent 2D graphics interface for buttons, sliders, info panels and such, you quickly end up with a lot of inefficient code.
To deal with that we've created a framework called "FlexiGUI" that handles all the 2D GUI elements on the screen. It scales for screensize, scales for DPI (like on Retina displays), deals with scrolling, modal windows, side drawers and much more.
For instance: When you make a game that shoots when the user taps or clicks, you dont want to shoot when the tap/click is over a GUI element. Likewise, the scrollwheel of the mouse or 2 finger scroll should only work over something that scrolls. And when a modal panel appears, the game logic should pause.
Windows automatically size to their content and can be scrolled, resized and moved.
Additionally we created a universal input system for both desktop PC's with a mouse and touch devices called "FlexiInput". It deals with tracking multi touches, touch joysticks, mouse movement and the build-in gyroscope. Using FlexiGUI in combination with FlexiInput, we are able to create 1 application and run it on desktops, tablets and phones.
Find more info and demo on http://orbcreation.com/FlexiGUI/FlexiGUI.html