Cada plataforma mobile usa um estilo de “scaling” diferente no NGUI.
Esse “scaling”, é o que garante que a interface se adapte ao formato da tela.
Para alterar o tipo de scaling, você deve procurar pelo gameobject “UIRoot (2D)” na hierarquia do seu projeto:

Confira se o gameobject possui a classe “UIRoot” no inspector:

No Android e iOS, a variável “ScalingStyle” do UIRoot deve ser “FixedSizeOnMobiles”.
No BlackBerry10 e no WindowsPhone8, você deve mudar o Scaling Style para “FixedSize”:

É simples, mas fazer isso manualmente pode ser muito trabalhoso quando seu jogo possui muitas cenas.
Por isso, criei a classe “UIAdapter”, que sempre coloco junto ao “UIRoot(2D)” das minhas cenas e que faz esse trabalho automaticamente:
using UnityEngine; using System.Collections; public class UIAdapter : MonoBehaviour { private UIRoot UiRoot; void Awake () { UiRoot = GetComponent<UIRoot> (); #if UNITY_BLACKBERRY || UNITY_WP8 UiRoot.scalingStyle = UIRoot.Scaling.FixedSize; #endif #if UNITY_ANDROID || UNITY_IPHONE UiRoot.scalingStyle = UIRoot.Scaling.FixedSizeOnMobiles; #endif } }