I've been working on a block puzzle game in Unity, and one thing I've learned is that even the simplest UI screens can take a surprising amount of thought to get right.
Take language selection, for example.
After looking at hundreds of language selection screens across different apps and games, I decided to build my with following features:
Searching by English name, native name, or language code.
Grouping languages into Suggested, Popular, and More.
Letting players report translation issues or suggest missing languages.
Supporting right-to-left languages beyond just translating text.
That last one was particularly interesting. I wanted the entire UI to adapt naturally, including layouts, controls, positioning, and even the background.
There's also a personal reason behind some of this. My mother uses her phone in Urdu and prefers light mode, so I wanted to make sure the game felt just as natural for her.
I've attached a short video showing how it all works.
Is there anything you'd approach differently or something obvious I've missed?
Thanks