what i have gathered so far :
UDK 3 Pro and Unity 4 Pro comparison :
(for the free versions, see at the bottom of this post)
Workflow :
Unity
fast workflow, easy importing, great for prototyping, toying with new concepts and new gameplays...
UDK
Steeper learning curve, better suited if you are a medium or a big team.
The next UDK 4 to come will have a better workflow.
languages :
UDK has Unrealscript (C#-like)
Unity has C#, Unity Script (actionscript/javascript-like), Boo (Python-like)
For a beginner coder : the easier start would be to use visual scripting tools (Kismet for UDK, uScript for unity), a good way to learn the basic principles of coding.
Then maybe learn Unity Script (if you choose Unity), as this language is more forgiving than C# (the other side is that your can make bad optimized code more easily if you are not aware)
And then learn Unrealscript/C# to build your future, more complex, games...
Graphics :
UDK has mostly better lighting (and additionally a better shader workflow).
So go for UDK if you have the resources to really exploit it (time and budget, good artists/assets, good level-designers...)
Scale of the maps :
Unity is not suited for very large maps (open wold games) with good visuals, no lagless streaming possible (and you absolutely want to avoid micro-stuttering in VR)
Open wold games can be done to some degree with UDK (see Batman games), but with some level-design limits (see
Owen's post)
Integration, community, resources :
Both can handle dlls, so in theory you can use any PC device with your games (Rift, hydra, kinect, etc. are already supported)
Both have active community, lot of tutorials, lot of great addons
Unity is more popular in indie/small-studio dev these days (best for mobile games, has a great Asset Store...).
Cross-plateform :
Unity :
Windows (DX11), Linux, Mac, Android, iOS, Unity Web Player, Adobe Flash Player, PlayStation 3, Xbox 360, Nintendo Wii, PlayStation Vita.
Upcoming announced platforms : Windows 8, Windows Phone 8, Nintendo Wii U.
UDK :
Windows (DX11), Mac, PlayStation 3, Wii U, iOS, Android, Stage 3D for Adobe Flash Player 11
Price :
unity :
Unity Pro (PC/Mac/Linux) : $1500, no royalty
+ $1500 for each additional license (iOS pro, Android pro, Flash pro)
Consoles licenses : thousands of dollars each plus you need to be a registered developer for the respective consoles.
UDK :
$99 per-seat + 25% royalty after $50,000 sales
Both have educational licenses.
Games types :
UDK is more focused on first-person (or third-person) games (all the tools and the engine are build in this perspective).
Unity is more generic and flexible.
_______________________________________________________________
Free UDK :
- only for noncommercial use
- no limitations
Free Unity :
- commercial use allowed - no royalty - after $100K sales you must get a pro license
- several limitations :
* limited device integration (doesn't support DLLs written in C/C++)
For example no hydra support, and above all :
Free Unity doesn't support the Rift =>
but mtbs3d community is working on workarounds right now.
EDIT : You may use C++ DLLs if you wrap it in C#.
* lack of optimization tools (profiler, LOD, occlusion culling... Remember we aim for +60 fps).
* lack of a few graphic features (especially realtime shadows)
________________________________________________________________
Conclusion :
Both are great pieces of software, well above the other middlewares.
And both are well suited for VR dev, you can't really go wrong with either.
I would suggest to find a couple of beginner tutorials for both, and try them both.
(Correct me if something is wrong or missing)