NGUI text-editing keys (backspace, delete, arrows, etc.) don't work on Windows 10 Store desktop app

This may be fixed in newer version of NGUI, but I thought I’d share the solution for this issue on NGUI Version 3.5.1, which I ran into when trying to build my Windows game for Windows 10 Store platform.

The problem is that the editing keys no longer work in the text input gadgets. Backspace, Delete, Arrows, Home, end End, do nothing.

The issue was resolved by changing the conditions that define MOBILE at the top of NGUI\Scripts\UI\UIInputGUI.cs. When MOBILE is defined, the compiler removes the OnGUI() method which is where the editing key inputs are detected and passed through to UIInput.ProcessEvent().

The fix is to change the pre-processor directives at the top of NGUI\Scripts\UI\UIInputGUI.cs from this:

#if !UNITY_EDITOR && (UNITY_IPHONE || UNITY_ANDROID || UNITY_WP8 || UNITY_BLACKBERRY || UNITY_WINRT)
#define MOBILE
#endif

to this:

#if !UNITY_EDITOR && (UNITY_IPHONE || UNITY_ANDROID || UNITY_WP8 || UNITY_BLACKBERRY)
#define MOBILE
#endif

Note: “|| UNITY_WINRT” is removed because that is “Equivalent to UNITY_WP8 | UNITY_WSA”, according to the Unity Manual (Unity - Manual: Conditional compilation). Because UNITY_WSA is defined for Windows 10 Store platform, this causes MOBILE to be defined for the Windows 10 Store platform in UIInputOnGUI.cs, whether or not the game is targeted for mobile (which in my case it was not).

Note, a similar construct is at the top of UIInput.cs, but it did not include UNITY_WINRT:

#if !UNITY_EDITOR && ( UNITY_IPHONE || UNITY_ANDROID || UNITY_WP8 || UNITY_WP_8_1 || UNITY_BLACKBERRY )
#define MOBILE
#endif

You might want to post this on the NGUI forums as well so Michael is aware of the possible fix/issue.

Thanks for posting!

Thanks for the suggestion, Meltdown. I posted it on the NGUI forum:
[Text-editing keys (backspace, delete, arrows) don't work on Windows 10 Store](http://Thanks for the suggestion, Meltdown. I posted it on the NGUI forum: Text-editing keys (backspace, delete, arrows) don't work on Windows 10 Store)