Unity vs UDK

Unity vs. UDKIt’s the ultimate question. Unity3D or the Unreal Development Kit? Let’s dive in.

Note: this is a comparison between 4 free version and UDK November 2012 (Unity Engine 4 and Unreal Engine 3).

PRICE:

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. The user interface is 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.

GRAPHICS:

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.

PHYSICS

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.

SCRIPTING

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.

In Unity, you can code in JavaScript(UnityScript), C#, or Boo. There are also a few visual scripting solutions on the Asset Store, and one of them is free. (the Antares Universe one)
Boo, by the way, is a Python based language. Most devs use JavaScript though.

PLATFORMS:

UDK can publish to Adobe Flash, iOS, supposedly Android, Mac, XBOX 360, PS3, PS Vita, and Windows PC.
You can develop only on PC.

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.

IMPORTING:

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.

ASSET MANAGEMENT:

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

UDK games:

Batman Arkham City, Borderlands 2, Mass Effect series, Gears of War series, DC Universe Online, Infinity Blade 1 and 2, Bioshock series, and UT3.

Unity games:

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!

CONCLUSION

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.

12 thoughts on “Unity vs UDK

  1. Spiro

    UDK does ONLY export to PC\Mac\iOS
    UE3 supports the rest, Unity also does support the Vita, as Escape Plan was created with it!

  2. Anonymous

    I personally have been using unity for around 2 years. I love it ! You can make modifications to the editor to further your project needs. I started on RPGmakerXP in my early teens. That was AWFUL in comparison to unity and UDK. I am biased because I spent so much time in unity and javascript. If you are not too familiar with code, then unity uses C# and javascript, two popular and powerful languages out there. Youtube has TONS of free tutorials that may help grasp concepts otherwise unreachable if you were to just try and learn everything on your own.

  3. Odi

    UDK is not licensed on a per-seat basis. It’s $99 for a commercial license for all your future games.
    Also, Unity does NOT use JavaScript. They just call their own JS-like language JavaScript for some reason.

    1. create3dgames Post author

      Yes, the correct term for Unity’s JavaScript-like language is UnityScript. But it has the same syntax as JavaScript.

      I checked the licensing and it seems you are right, except for one thing. It’s $99 with the royalties. If you are just going to use UDK in-house and never release your product for the public, you will pay $2500.
      And UDK is free for noncommercial or educational use, as we all know.

  4. Jingle Fett

    Just want to point out that you can do normal maps and lightmapping in Unity Free, you don’t need pro to do that. For lightmapping, you only need Pro if you want GI. But you can still get GI in Free, you just have to make the lightmaps externally using say Mental Ray or V-Ray and the results are spectacular.

Comments are closed.