I've worked with both. I prefer Unity over UDK. Unity in my opinion is easier to use. Honestly it's whatever you are used to working in. if you have no experience working in either, I think Unity has a less steep learning curve. I've also found Unity people are way more accessible and a good bunch of folks.
Both UDK and Unity are capable of more than most of us could possibly require of them, especially for mobile titles. They could both handle the game you want to make with grace, you'll need to choose one or the other on your own preferences, experience, end goals, etc.
Unity has a more varied and flexible system for 2D and 3D games, whereas UDK is really focused on 3D games. I don't know UDK's licensing deal but with Unity you can use the free version and publish to all mobile platforms at no charge, all the way until you earn $100k at which point you are required to buy the pro version at $1500 or so. UDK is free until a certain profit level ($50k, maybe?) after which point they begin to take a cut of the earnings, if I remember correctly. All things that need to be considered.
Both Engine are capable. UDK is a powerful engine no doubt, with what Iv'e seen in V4 (not sure how much of it will be made available to UDK) it is a truly powerful engine.
I started with the Torque family of engines when I was young and naive and thought that having the source code was must. I started evaluating other engines when I felt that Torque was not heading in the right direction (or maybe the direction I wanted it to go). It was then when I evaluated Unity among other engines.
Unity as it stands right now is a powerhouse. With Mecanim (+Mixamo), Shuriken Particles, Navmeshes and the new 2D stuff. The upcoming GUI will address the major short coming left pending.
The other strengths that Unity has the abundance of free resources and tutorials and vibrant community. Plus the fact that an active Asset Store exists not only puts Unity above any-other indie friendly engine available. Whether you need editor extensions, models, textures or tools, it is all available within Unity itself.
That being said, I will still evaluate the new UDK version when it comes out, but for now, Unity is my choice.
Music is an expression of the soul.. so is game development.
I don't know UDK's licensing deal but with Unity you can use the free version and publish to all mobile platforms at no charge, all the way until you earn $100k at which point you are required to buy the pro version at $1500 or so. UDK is free until a certain profit level ($50k, maybe?) after which point they begin to take a cut of the earnings, if I remember correctly. All things that need to be considered.
UDK gets 25% of your earnings over 50k, IIRC.
I actually didn't know Unity iOS was free— I remember it being an upgrade of a few hundred bucks over Unity Indie. I'd have recommended Unity even if it involved that up-front cost. Without it, Unity is an absolute no-brainer.
Im starting to get the feeling that there is a clause in the UDK terms of service that any developer using it must endlessly ram it down everybody throats. I dont think ive ever seen an a UDK game developer not mention within the first sentence that there using UDK as if its some amazing engine that only a privilege few get to use, in reality its far less capable than UNITY.
So it you wish avoid having the letters UDK tattooed on your forehead and having the compulsion to shout "Im using UDK" in every sentence I would go with Unity.
$1500 or 75$ monthly to publish a commercial game.
No, You can publish a commercial game for free. You only have to use the Pro version if your turnover is more than $100,000.
I use Unity, which is probably the right choice for many. The case in which UDK gets stronger is when working on FPS games, which the original poster says they wish to do.
My choice was made before UDK, but what I did was try the different available options. A day or 2 with each is a small investment compared to the time it will take to make a game. If the choice has been narrowed down to Unity and UDK, then I would absolutely recommend trying both. It might also be worth trying Project Anarchy.
Like @Moonjump said, try all of the engines that look interesting to you. My vote is for Unity but really, either will get the job done for. Also make sure to take into account what programming languages you are strongest with, and what the given engine supports, how custom shaders are written, etc.