The Unity Asset Store launched in late 2010 as a marketplace for free and premium extensions to Unity3D. Offerings in the Asset Store range from simple content packs of models, textures, and shaders to elaborate middleware solutions for GUI, AI, and other common game functions. It’s like a candy store for game developers. Here’s a list of some of my favorite treats.
Unity3D’s GUI system is absolutely atrocious. The fact that it continues to go unaddressed in 3.5 is a source of embarrassment. Unity gave a quick flash of the new GUI system at Unite’11, but it seemingly has been pushed off until the next major point release. Because this is such a universal problem, some of the most popular offerings in the Asset Store are GUI solutions.
When looking for a GUI package for my current project, NGUI was recommended to me by a colleague. I never really liked the impenetrable video tutorials of EZGUI. Plus, NGUI was really cheap, so I took the plunge. Overall, I’m very impressed.
Like most other 3rd party GUI solutions for Unity, NGUI builds a GUI out of flat geometry and a texture atlas. If all the controls use the same material, you can render your entire GUI in a single draw call. Building GUIs out of 3D objects is a somewhat fiddly process compared to the buttery slickness of Interface Builder. However, NGUI has the added bonus of being able to display the interface as actual 3D objects, kind of like how Dead Space does it.
NGUI is solid. It has a wide array of interface types and widgets: scrollviews, tableviews, buttons, drop-down boxes, etc. Tasharen Entertainment is constantly offering updates with new features and bug fixes–Usually in response to comments in the support thread. NGUI is frequently the top-selling paid extension in the Asset Store–absolutely deserved.
Localization is not one of those sexy game development tasks, so I never thought to look for a solution in the Asset Store before I wrote my own. Now I wish I had. Localization Package from M2H provides an elegant solution for localizing both text and assets such as textures and models.
In the case of text, Localization Package hooks into Google Docs to pull down spreadsheets containing text strings. It also features an automatic translation option, using Google to translate the strings in your spreadsheet. This may be a decent stopgap until you pony up the dough for a real localization. An absolutely brilliant package.
Prime31 are the kings of plug-ins. I should list the entire Prime31 site as my favorite plug-ins, but I’ll illustrate a few I’m using right now. Keep mind, most of Prime31’s plug-ins are not available in the Asset Store and have to be purchased from Prime31’s own website.
Not every ad network has an ad to display every time your app asks for one. To solve this inventory problem you have to use multiple ad networks. MoPub consolidates all of the ad networks you are using into a single widget. Because MoPub pipes other ads through their widget using each ad network’s respective APIs, you get your ad revenue from the individual networks. This is superior to systems like MobClix which collect the money from various ad networks on your behalf which can lead to delays in payments. (Prime31 also makes a MobClix plugin)
MoPub’s control panel allows you to set the rules for when it shows ads from a particular network. It can optimize which ads are shown based on how valuable they are. So, for instance, it will always show an iAd if available and eventually drop down to AdMob as a last resort.
Prime31’s MoPub plug-in can’t be easier to use. You simply import it into your project, then drag any additional APIs you need into its folder in the Project window. I’ve found a few bugs in it. However, Prime31 and MoPub have been very responsive to my support requests.
Prime31 to the rescue again. Supposedly, Unity is coming up with a cross-platform In-App-Purchase solution, much like they did for achievements with ISocial in 3.5. Until then, it is necessary to use native plug-ins to support IAP for iOS and Android. For my iOS build, I dropped Prime31’s IAP plug-in into my project and got transactions working in 20 minutes or so. As with the MoPub extension, there’s also an Android equivalent of this plug-in.
What I’d Like To See
There are a lot of fancy shader packages that target desktop GPUs, but they are usually too heavyweight for iOS or Android. I’d really like to see someone put up a pack of mobile optimized shaders.
Overall, the Asset Store just keeps getting better and better. To whip up a quick prototype you can find models, animations, textures, effects, and code plug-ins to get something up and running in a day. The Asset Store is becoming a decent business too–supposedly there are at least a few people making a living entirely off of what they sell in the Asset Store. Browsing the Asset Store has become a near daily routine for me.