I've been wondering which one is best to use, if one was trying to make a small RPG with local co-op (non-commercial). I've heard that Unity let's you make any genre of game, while the unreal engine is more used for shooters.
I myself am pretty new to all 3D game making, but I have 7 years of experience with RPG-maker XP and a basic understanding of Ruby (RGSS), I'm a pretty quick learner too (and I have the time too learn).
For the past weeks I've been on the look-out for which engines would suite my cause best and those two seems to be the better ones out there. Since both engines are free to some degree I'd like to hear a professional opinion on the matter.
Currently I seem to be leaning more towards the UDK.
Ironclad network layout without a lot of flexibility.
Does well with pre-processed artwork but falls down pretty hard on dynamic assets.
UnrealScript is only of use with the Unreal Engine, so your knowledge doesn't travel with you to another engine.
A somewhat arcane series of config files and build chain.(Not horrible given the complexity of the engine but still witchcraft until you learn it.)
Unity built in networking is pretty bad, however there are a few free or nearly free alternatives that will just plug and play.
Unity GUI is a resource hog and you'll be looking for an alternative if you push to a mobile device.
Unity is stuck on DX9 for the foreseeable future due to MAC compatibility issues(essentially they don't want two feature sets between windows and MAC)
The short answer is to try both of them. I prototyped the same game in both engines and found I was 3 to 5 times more prolific in Unity using C# but for the art that could be pre-processed UDK generated a prettier render.
When I tried to "color outside the lines" it felt like UDK fought me a lot harder where with Unity you can beat it into shape pretty easily if you have a decent mastery level of the scripting language.