NGUI for Unity - A Review

Unity is by far outstripping all the competition with its multi-platform game framework, especially with their recent win in the Develop awards for best game engine (well done team). So with the influx of new books to aid new developers, things are only going to keep moving and fast.

width=

NGUI for Unity

Anyone who has used or player with Unity knows that the UnityGUI is one of the poor points of the system, even Unity know this, which is why they are investing so much time in building a new system from the ground up. To combat this one lone developer (who has now amassed a small army) set to the task of building a better, leaner and much more flexible system for Unity (is not the Unity community brilliant Open-mouthed smile). The result is a fantastic framework used by most games today, it has its competitors but the word on the street whenever I have talked to developers is usually NGUI, BGUI, NGUI. So it is nice to see a book out that deals with and targets NGUI to help aid the masses.


width=

So much is in flux at the moment but NGUI is still recognised as one of the leaders in GUI technology for Unity. Within these pages the author aims to walk you through all the components of NGUI and leads to you building a full game using NGUI (certainly possible but not something I would recommend personally). There is a good introduction to using each of NGUI’s components and how they fit in with Unity’s own system.

*note, As NGUI is a paid for asset you will need to purchase a license for it if you do not have one already in order to follow the contents of this book. At the time of writing it is still prices at $95 USD.

So let’s break down what this book has to offer above the competition.


width=

Here is a brief run through what all the chapters are and what to expect from them:

Chapter 1 “Getting Started with NGUI”

Starting with the basics, chapter 1 gives you a brief introduction to what NGUI is all about and steps to get it up and running in your project. All the core points are covered ready for some in depth investigation in future chapters.

Chapter 2 “Creating Widgets”

Widgets are NGUIs user controls, it provides the framework to create whatever UI components you need in your title and what interactions are needed whilst it is on screen. The author does a good job of showing you several types of widgets and how to display them well, including labels, buttons, sliders, checkboxes and so on.

Chapter 3 “Enhancing Your UI”

In Chapter 3, the author extends on the previous chapter to walk through some of the more advanced features of NGUI with draggable components, clipping and scrollable text, plus a walk through one of NGUI’s ore valuable features, localisation support.

There is also a nice section on using Unity’s own animation system together with NGUI to further spruce up your layout.

Chapter 4 “C# with NGUI”

It should come as no shock that NGUI is written in C#, it provides more flexibility than its JavaScript brother (although I have seen amazing things done with JavaScript in Unity). Here the author goes through all the programmatic steps needed to access your NGUI creations, including working with events, animations and notifications / tooltips.

Chapter 5 “Building a Scrollable Viewport”

Now we start to get interesting as by this point you realise that the book is leading you down a path to creating a game with NGUI, not just throwing lots of controls at you. Here we build a scrollable game area and begin adding interactive controls and even built come coroutines to work with events. Interesting beginnings.

Chapter 6 “Atlas and Font Customization”

NGUI has an extensive texture atlas system built within its walls, which is very efficient at pooling your assets together efficiently for your UI using texture atlases. It has some powerful features that were not available until recently in Unity and they work very well. This chapter also works through the integration between NGUI and Unity regarding fonts and font bitmaps.

Chapter 7 “Creating a Game with NGUI”

This chapter brings everything together to finish off the NGUI game. It certainly is an interesting title full of hacking, dodging and clicking, making use of NGUI’s power in new and different ways.

######

######


width=

Starting positively, this is certainly an interesting title and goes about explaining NGUI in a way I had not considered before, by building a game using NGUI. Sure in my journeys I have seen titles created just using NGUI but this was the first time I would seen how to build one using it. Not sure if it is something I would personally do but I am always open to new ways of doing things and finding alternate uses for stuff. The title does a good factual job of explaining all the components of NGUI and how they fit together to achieve this goal.

Sadly the title is not without it is demerits through. Personally I dislike titles that are all about the doing and not about the WHY you should do something a certain way to offer alternatives, some may like this approach but I am not one of them, this title sadly from page to page is just dry and factual about each part it covers which leaves me wondering what I would use in a different scenario. The title is solely focused on creating a game and not so much about the UI, sure they are some good parts which discuss UI but not enough in my opinion.

Pros Smile with tongue out
  • Lots of good technical detail of NGUI’s components and features
  • Covers features in Unity that interact with NGUI, not just solely focused on NGUI alone
  • makes good alternative uses of NGUI
Cons:
  • Very technically dry (which is fine if you prefer that sort of thing)
  • Not enough GUI (could have done with a bit more on the UI side of the game other than game itself)

width=

I’ve been itching for a good NGUI title for a while and while this book does a good job of detailing all the parts of the NGUI engine it did not go far enough for my liking to show how I could use those parts to build something well. (A lot of pointing and hand waving but when it comes to the assembly of the car, the architect is strangely absent).

There is enough information as a technical reference about each part that should I want to build something, I could do it with the information at hand. I would just have preferred a bit more design and guidance rather than just the raw facts, if there were more examples than just the one case then it would have been a much better story.

So if you want a technical reference for NGUI above and beyond the docs on NGUI’s site then this is a good read. If however you are like me and want more substance, then you will likely feel wanting.

Simon (darkside) Jackson

Simon (darkside) Jackson

Engineer, industry executive, research enthusiast. Avid learner with diverse interests in coding, game development, Mixed Reality (AR/VR/XR) and reinforcement learning. 25+ years of experience working in multinational corporations and startups.

Comments

  Write a comment ...