Unity GUI and mobile devices performance

Hi,

I’ve found several questions about using unity’s built in GUI elements on mobile devices, and the answers are pretty much against it due to performance hit of these calls.

Alas, all these questions and answers are dated 2011, so I was wondering if any improvements have been made since, and if there is still a large performance hit (and taking into account that mobile devices are also much stronger these days).

So is it still wrong to use unit GUI calls to draw a user interface?

Yes. The performance of Unity GUI sucks because it essentially amounts to a single draw call for each element that you plot. In my experience, you generally want to limit the number of draw calls on mobile devices to no more than 200-300 at most. Worse yet, you have to plot the entire UI through code, and there is no WYSIWYG version of the Unity GUI.

Fortunately, there are a bunch of really, really powerful alternatives to Unity GUI, that not only are able to dramatically reduce the number of draw calls, but also have much better Editor tools compared to Unity GUI. Personally, I really like NGUI. It’s only $95, and there’s a free, demo version available on the developers website. In my opinion, there is no reason to use Unity GUI, at least until they release their new Unity GUI in a future 4.x release.