Weather Report Plugin

iconIf you want to integrate real weather to your game or application, Weather Report Plugin is the easiest way to do so! Using wunderground.com weather API, this plug-in supports the automatic location detection based on either GPS coordinates or IP address.

Get free key from  wunderground.com/api/, drag-n-drop the Weather prefab into scene and the real weather anywhere, anytime in your code, just like you access time.

In addition you get sky shader with nice day-time cycle and clouds support and rain and Snow particle effects to use in your standalone builds!

Price: $35

More info

Efficient UI Development

Everybody wants their project to have a great architecture with independent data and logic, that would be easy to scale, support and modify. Our tools make it possible to bring MVVM pattern to life for development in Unity3D with UI system of your choice – either NGUIiGUI, or EZGUI

Automatic data binding, following the popular MVVM pattern, makes it possible to significantly boost productivity, quality and development speed, no matter what UI library you are using. It allows you to keep a game logic code unmodified (literally) not only when changing user interface but also when changing UI library.

NData – is an automatic data binding framework for NGUI based User Interfaces.

iData - is the same system for User Interfaces created with iGUI. Contains additional bindings for rich iGUI controls collection.

EZData - is the similar framework for EZGUI based UI, that, in addition to data binding, it includes EZGUI specific resolution independent interface layout and elements parenting.

Overview

MVVM (Model-View-ViewModel) pattern is one of the popular ways of separating UI from application logic. When powered by reflection based data bindings it allows writing an extremely clean code in both View, which is in case EZGUI or NGUI controls hierarchy, and ViewModel which is basically an hierarchy of simple objects containing simple properties (like Boolean, int, string and Texture2D values) and collections of other simple objects. Simplicity of this objects means that they ideally don’t have any logic and serve only like an hierarchical representation of user interface state. To enable interaction of user interface with application/game logic, objects in ViewModel can contain methods called commands, which are as simple as can be imagined – void returning public methods without parameters. They don’t have to be bound explicitly to UI controls like it used to be with regular events handlers. But rather this commands are invoked through command bindings. When command is invoked in order to perform some actions in Model (loading next game level, submitting score to the server, etc.), ViewModel invokes Model methods. If Model requires some data from UI as an arguments (like player name for score submission), this data is just taken from ViewModel, because it’s already there thanks to the automatic data synchronization with two-way data bindings. When the action is finished, Model makes changes in ViewModel by changing appropriate properties. This changes made in a single property get automatically notified to all UI elements that rely on this property value.