Note: this is a comparison between 4 free version and UDK November 2012 (Unity Engine 4 and Unreal Engine 3).
Unity is free for the indie version, and $1500 for the professional version. Unity iPhone and Unity Android, which allow you to publish to iPhone and Android platforms, costs $400 each. Licenses for Wii, XBOX 360, or PS3 are separately sold; they cost a few thousand dollars.
The Unreal Development Kit is free to use non-commercially. If you want to use it commercially, that costs $99 per-seat license, and once you make over fifty thousand dollars, Epic Games takes twenty five percent.
EASE OF USE:
Unity is very easy to use and get into. Theis simple; everything makes sense after a few minutes of messing around, but if you can’t figure it out, there are lots of tutorials online.
UDK can be quite daunting, especially to someone who’s new to the world of CG. But you’ll get the hang of it eventually…maybe. In Unreal Engine 4, the interface will be much improved, which will be nice.
Unity’s graphics are high end quality and always improving. For better graphics such as realtime shadows and lightmapping with normal maps you can upgrade to Unity Pro.
UDK’s graphics are pretty much mind-blowing. The lighting is the most advanced I’ve ever seen for a game engine. And get this: when UE4 comes out, you’ll be able to dynamically render lightmaps and global illumination at runtime, plus a whole bunch of other stuff. If you want the best graphics possible for your game, go with UDK, no question.
UDK has very nice physics. Use Actors to give meshes physics. The cloth sim is very nice, but my favorite is fracturing meshes. Adding collision is simple and the ability to choose the complexity of your collision is a nice feature.
Unity3D also has great realistic physics. Softbodies, rigidbodies, colliders, and more are easily attached with components. Add a physic material to the collider to adjust the amount of friction and bounciness. Not as good cloth as Unreal yet. Plugins available on the Asset Store for fracturing, but no internal ability to fracture stuff inside Unity.
In UDK, you can do basic scripting with the visual scripting system called Kismet. Anything else you want to do will be done with uScript.
Unity3D can one-click publish to the web, Adobe Flash, iOS, Android, PC, Mac, Nintendo Wii, PS3, and XBOX 360. When Unity 4 comes out, you will be able to publish to Linux as well.
You can develop on PC and Mac. One of the nice things about Unity is the Author Once, Deploy Everywhere motto.
CUSTOM SPLASH SCREEN
UDK: no custom splash screen
Unity: custom splash screen but only in Pro version.
Unity can import pretty much import any type of 3d model, texture map, audio file, whatever. FBX is the best file type to give Unity for 3D models. The import process is very easy. Just drag and drop your file from your regular file browser (Windows Explorer) onto the Project tab in the Unity Editor. Also, whenever you make changes to a file in your project, such as making a brick texture more red inside of Photoshop, it will automatically update when you go back into Unity and you see the new redder brick. You can also import packages of unity files.
UDK, however, is not so easy. It does not automatically refresh your assets, and when you import your assets, UDK imports them into a .upk package. So in your file browser, you might see weapons.upk instead of having a folder called “weapons”, and “m4.fbx” or “machine gun.obj” under that folder, as you would in Unity. And UDK does not support as many file types.
UDK has the Content Browser. It’s pretty cool, though a bit bloated. Good way to be organized though.
Unity has the Project tab. See all your assets nicely, like the Content Browser in UDK. Tag your assets well for easy finding. Find objects by type, such as all textures, or all models.
NOTABLE GAMES MADE WITH IT
Batman Arkham City, Borderlands 2, Mass Effect series, Gears of War series, DC Universe Online, Infinity Blade 1 and 2, Bioshock series, and UT3.
BeGone, Cowboy Guns, Ghost Recon Network, Battlestar Galactica Online, Max and the Magic Marker, Red Crucible 2, Shadowgun, Uberstrike, Angry Birds Bad Piggies, Star Wars: The Quest for R2D2, and Temple Run: Brave.
LEARNING TO USE IT
UDK has some really good tutorials out there, if you are willing to fork over a big wad of money. Okay, not all of them. But it seems most of the UDK tutorials are more on the expensive side. The documentation is well written and thorough. One good place is eat3d.com. And YouTube. UDK also has a good online forum.
Unity has answers.unity3d.com to answer your Unity questions. It’s a great community. Also a certain website you may have heard of called create3dgames.wordpress.com. There are also some pretty good tutorials on iTunes U. Check out walkerboystudio.com for a whole course on Unity. Oh, and don’t forget YouTube!
I think it depends on your situation. It depends on how graphically beautiful your game is, how big your budget is, what kind of person you are, how much you already know about the game making process, and many many other factors. Being a long time user of both engines, I think they are both incredible.
Of course, you might be thinking by now that Unity and UDK seem very cool and all, but what about the rest of the game engines out there? How about Disney’s Panda3D? OGRE? Horde3D? Box2D? Blender? Stonestrip?
Well, I’ve tried quite a few game engines and while they are better then making your own game engine from scratch like we used to, they are very low-end game engines that require major scripting and lots of headache. Some are better, and some are worse, but they are all Unity/UDK wannabes. The UDK guys have said it themself, the only game engine they find impressive (besides their own) is Unity 3D. You saw the Notable Games section above. Both UDK and Unity have been used to make many games you’ve heard of and likely played. Other game engines have very little notable games made with them.
That’s my opinion. What’s yours? Comment below and tell me.