Fantastic news! The asset has been included in the limited August Level 11 sale offer that ends 08/31/15. If you're a Unity Pro or Level 11 user you can purchase the asset at a 50% discount!
MarkUX: Bringing the Power of MVVM to Unity
Available now on the asset store!
What is MarkUX?
- A declarative design language for creating UI elements
- A MVVM framework
- A editor extension
MarkUX offers a new elegant and intuitive way of designing and developing rich user-interfaces in Unity. It speeds up development, it bridges the gap between designers and programmers, it allows designs to be more easily shared in the community.
MVVM (Model View ViewModel) is an architectural pattern that has been around in the software development world since 2005, popularized by frameworks such as WPF/Silverlight and AngularJS. It hasn't really broken into the game development world which is unfortunate because it's a really beautiful and powerful pattern. Having made the transition from software development to a game development, the MVVM pattern was the first thing I felt missing. With the advent of the unity 4.6 UI system I felt the conditions were ideal for creating a new MVVM framework specially designed for game development - building upon the strengths of previous frameworks and making an effort to make it as intuitive and easy to use as possible.
At its core MarkUX offers a new language (XML) in which you can express UI design and its relationship with application logic. Why is this a good thing? In short it allows you to create modular re-usable UI widgets (views) that may be easily combined, re-used and shared. Imagine if there was no HTML and web-pages could only be created using visual designers - no snippets, no source to inspect and re-use, no convenient way to share designs, create text-tutorials, etc - that is the case with Unity UI's without MarkUX today. In addition to a design language MarkUX makes it possible to create interactive and responsive UI's that adapt to changes in layout and data. It offers theming functionality similar to CSS and a layout system that is very easy to work with. It comes with a bunch of standard views ready to be used - and expect the catalogue to grow steadily as new contributions are added.
So If you like the new Unity UI system but want more power to create rich user-interfaces that are dynamic, can adapt to data and layout changes. If you like frameworks that are intuitive and easy to use. If you want to be able to build upon other's works and share your own. If you want a framework that bridges the gap between game design and development - that makes it easier to collaborate and work together, then MarkUX might be for you.
Design views using XML - Design, share and re-use views using simple XML. Views can be freely nested, re-used and combined.
Fast and fluid workflow - Views are automatically processed and wired to their ViewModel through naming conventions. The process is fast and views are presented in the scene as changes are saved.
Elegant and Intuitive DataBinding - Using naming conventions and smart binding logic, binding data to your views is very straight forward. No "plumbing" or configuration required.
Interactive - Effortlessly create views that respond to user interactions. Use event system events (clicks, drags, etc) or create custom actions with ease.
Animate views using XML - Quickly create animations using XML. Re-use animations on different views.
Easy Transitions- Creating animated transitions between views is easy using the ViewSwitcher view.
Flexible styling using Themes - Modify the look and feel of views using Theme files (XML). Control theming through id- and style-selectors (similar to CSS).
Catalogue of Views and Themes - Since views can easily be created and shared, expect to see a growing catalogue of views available for download. The community is encouraged to create and distribute views as they please.
Dynamic Content - Have views adjust to run-time changes of data as shown by the FlowList and List views.
Responsive Layout - Have views adjust to content and layout changes.
Intuitive and Flexible Layouting - Allows width and height of views to be specified using percentages. Anchor views easily by setting alignment.
Display sets of data - Display lists and sets of data using the FlowList and List views. Bind custom data to the lists and control the way items are presented using templates.
Similar to WPF and other MVVM frameworks - If you've worked with MVVM frameworks such as WPF/Silverlight (XAML), Caliburn, AngularJS, Prism, etc. you'll feel at home with MarkUX.
And much more. The framework is in active development and you can expect continuous updates with new features, themes, views and tutorials. Check the latest developments at www.markux.com
Get it on the asset store.