One of the blogs I'm subscribed to is by Johan Sanneblad who is like a Pro at game development. You can read some more information about him here.
So he lately had this seminar where he talked about actual large scale game production for mobile platforms, namely iPhone and Android. There is a lot of interesting things said there, but among all I enjoyed the process of him comparing Unity3D and UDK. UDK came out as a winner here for me, even though Johan's team choose Unity (they had their reasons... watch the video). I was really glad to see that, simply because I was still not sure if I did the right choice when choose UDK as the platform to study and develop on. I'd like to put here his list of Unreal vs Unity comparison and discuss it a little.
Target devices
UDK: Windows, iOS and consoles.
Unity: Mac, Windows, Android, iOS, Web, consoles.
Yeap! If you work with UDK you by default can develop only for Windows, iOS, Xbox and PlayStation. Which for sure is not a small market, but the lack of Android support is for sure a minus. BUT! You can't expect this to last long. Android is pretty popular platform and Epic (the creator of UDK) is a pretty serious company. There is no way they don't meet. And the words of Epic's vice president Mark Rein prove that.
Host environment
UDK: Windows only
Unity: Mac/Windows (Mac for iOS render & remote)
Well, THAT is not good! It's not like it's a problem for me, or like I can imagine someone choosing Unity over UDK just because of that. But the fact might affect one's workflow not in the best way. It's just uncomfortable. I guess if I were a Mac user, I would choose Unity despite all other UDK pluses.
On the other hand UDK gives you a unique possibility to upload your game right to your iDevice from a PC for testing!
So UDK might be a headache for people who have pro-mac pipeline, but a blessing for a pc-team.
Development language
UDK: UnrealScript ("the look and feel of C/C++/Java code")
Unity: Boo, C# or Javascript
I don't know about Boo, but I know C# is as popular language as C++ is. So I don't think this makes any big difference here.
For sure any coder will need some time to get to learn the specifics of UnrealScript, but once he does it worth it. UnrealScript is the specifically designed to work with 3D games. It surely saves more time then a multi-purpose programming language.
Custom splash screen
UDK:No
Unity: Yes (in a Pro version)
True true... If your game is made with UDK, you will necessarily have the "Powered with Unreal Engine"-kind of a splash-screen, when the game is launched. For a big scale product it might be an issue, I understand. But for the rest, mortal developers, I believe having a logo, of the company that sold Infinity Blade hundreds of thousands times and shocked us with EpicCitadel, is an advantage.
Other tools
UDK: UnrealKismet, MaterialEditor, Scaleform GFx
Unity: plugins, plugins, plugins
With UDK (which is free) you get all the advanced tools, that will speed up your work and increase quality of a final product. With Unity you'll have to buy the third-party plugins which are in beta stage yet. You know what beta means, don't u?)) lags and crashes!
Pricing
UDK: 99$ license. Free<$50,000 income. 25% of income>$50,000
Unity: iOS 400$ + Android 400$ + Pro 1500$= 2300
Well, her it's all up to you! Do you want to make 50 000$ and spend only 99$ (+99$ of Apple Developer's License) or maybe you have extra 2300$? Choice is yours...
One more word
I always used to say, that it doesn't matter what software or platform you use... The only thing that matters is what can you do with it. If you have a clear vision of a game, you will manage to do it with any engine.
I guess, that's it for today! Don't forget to have fun while making a game! ;)
Cheers!
P.S. I actually wanted to post the video only. But the video embedding process turned into a quick post :)

