Jump to content

  • Log In with Google      Sign In   
  • Create Account

Main differences between Unity and UDK?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
19 replies to this topic

#1 Xirion   Members   -  Reputation: 262

Like
0Likes
Like

Posted 22 January 2013 - 10:05 AM

Greetings, i'd like to know the main features and differences between unity and udk engines.

I've read their descriptions but i don't really know how should i choose between one or the other.

Is there a main difference or should i try both and choose based in the experience?

 

Also have someone already done this?



Sponsor:

#2 TheScriptan   Members   -  Reputation: 207

Like
0Likes
Like

Posted 22 January 2013 - 10:12 AM

Go to youtube and check.

In my opinion UDK is much better. First of all udk have much better graphics and it is easy to use.


Check out my blog or twitter for news how I am doing in the project "Learn Programming in 2 Years!". You can follow my progress, and help me! :)

 

My Projects:

              "Learn Programming In 2 Years"

              "Windows Tutorials"

              "Ubuntu Tutorials"

 

My Games:

              Moving@ IndieDB: http://www.indiedb.com/games/moving-rl

 

My Links:

              My Blog: http://www.thescriptan.blogspot.com

              My Twitter: https://twitter.com/TheScriptan


#3 MrDaaark   Members   -  Reputation: 3555

Like
9Likes
Like

Posted 22 January 2013 - 10:30 AM

The main difference is about 1.5GB in download size. smile.png UDK is 2gb and Unity3D is about 400mb.

The engines target different things.

UDK is a big toolkit that lets you make (basically)standalone Unreal mods, and targets beefy hardware.

Unity is smaller, user friendly, more flexible game engine that targets a wider variety of platforms and hardware specs.

Regardless of which engine you use, you are going to have to adjust your content and design to fit into the engine's way of doing things. UDK is overkill for most indy projects, and can be a pain in the ass to work with (been using it on and off since 1998, and I have never liked their way of doing things). Unity IMO is much easier to work with, and more user friendly. It's also easy to just throw your work up on a dropbox-like site, and let people try it in their web browser with the plugin.

#4 swiftcoder   Senior Moderators   -  Reputation: 10371

Like
6Likes
Like

Posted 22 January 2013 - 10:46 AM

Feature-wise, there isn't as much in it as you might expect. The UDK has the edge when it comes to rendering, but I'd like to think that the gap is shrinking with recent Unity releases. Unity has a significantly easier learning curve, but the toolset isn't quite as mature. Unity has more publishing options...

 

it is worth considering that the licensing terms/costs are drastically different:

 

Unity has a free indie license, but the feature set is significantly crippled - my impression is that most serious developers will be looking at a commercial license instead. A commercial unity license costs $1,500 per developer (plus $400 for each of iOS and Android publishing, if you need those), but you never have to pay any royalties.

 

The UDK requires a $100 publication license when you are preparing to ship your product, but also charges 25% royalties on any revenue after the first $50,000.

 

This presents you with an interesting cost equation. Unity's per-seat licenses are expensive upfront, but after that you never need to pay a dime. The UDK costs pretty much nothing upfront, but if your game produces a high revenue, you will be paying a fair bit of money out in royalties. My back-of-the-envelope calculation suggests that the UDK might be more cost effective for a game that grosses under ~$120,000, and Unity is significantly more cost effective for a game that exceeds that figure - but you should run your own projections to validate the choice for your particular situation.


Edited by swiftcoder, 22 January 2013 - 10:47 AM.

Tristam MacDonald - Software Engineer @Amazon - [swiftcoding]


#5 MrDaaark   Members   -  Reputation: 3555

Like
6Likes
Like

Posted 22 January 2013 - 12:09 PM

People severely overstate the missing features in the free Unity. It mostly comes from the crowd who can't actually make a game and just likes to screw with advanced rendering options. "Hey look, I can give my procedurally generated crap real time shadows, or do deferred rendering on it". None of that has anything to do with making an actual working game.

Unity Free lacks real time shadows, render to texture, and a few small things. There is nothing stopping you from making a completely functional game, and then just turning on those features when you upgrade. For someone like me who bakes their lighting, and needs circle shadow blobs under characters anyways, there is no perceivable difference between the free and paid version other than the 2 second Unity watermark in the bottom corner when I run my game.

Once you've actually finished a game to the point of being able to do a proper release, the upgrade price is negligible, and in line with all your other required expenses. Especially since most people using Unity3D will never get to the level of completion anyways.

UDK has a better renderer at the moment, but your graphics quality is ultimately up to the quality of your content. A nice, properly colored, well composed scene will look great in any engine, and crappy, poorly colored, badly composed programmer art will look bad in any engine.

If you are making a simple 2D game, it's ill advised to use either of these engines.

#6 swiftcoder   Senior Moderators   -  Reputation: 10371

Like
2Likes
Like

Posted 22 January 2013 - 12:33 PM

People severely overstate the missing features in the free Unity.

Aye, that's a fair point. I'm building the entire game world via GPGPU procedural generation, so the lack of render-to-texture is a non-starter for me. YMMV.


Tristam MacDonald - Software Engineer @Amazon - [swiftcoding]


#7 MrDaaark   Members   -  Reputation: 3555

Like
1Likes
Like

Posted 22 January 2013 - 01:08 PM

Lack of RTT hurts me a bit too. I want to render something onto the screen of an arcade machine, but I will have to do without for now. It's just a background detail anyways, and doesn't effect my game one way or the other. I'll use a UV coords hack to atlas some frames and get around it.

#8 GameCreator   Members   -  Reputation: 785

Like
0Likes
Like

Posted 22 January 2013 - 02:08 PM

There's some info here too, on the page of another engine:

http://www.esenthel.com/?id=compare

Not sure how current it is now though.



#9 Dwarf King   Crossbones+   -  Reputation: 1917

Like
1Likes
Like

Posted 22 January 2013 - 02:30 PM

it is worth considering that the licensing terms/costs are drastically different:

 

Unity has a free indie license, but the feature set is significantly crippled - my impression is that most serious developers will be looking at a commercial license instead. A commercial unity license costs $1,500 per developer (plus $400 for each of iOS and Android publishing, if you need those), but you never have to pay any royalties.

 

The UDK requires a $100 publication license when you are preparing to ship your product, but also charges 25% royalties on any revenue after the first $50,000.

 

This presents you with an interesting cost equation. Unity's per-seat licenses are expensive upfront, but after that you never need to pay a dime. The UDK costs pretty much nothing upfront, but if your game produces a high revenue, you will be paying a fair bit of money out in royalties. My back-of-the-envelope calculation suggests that the UDK might be more cost effective for a game that grosses under ~$120,000, and Unity is significantly more cost effective for a game that exceeds that figure - but you should run your own projections to validate the choice for your particular situation.

 

One other hard fact is that you will have to shed a huge amount of cash out if you need to change something in the source codes as well. I guess options like Ogre and Torque could be worth considering as well. In fact this link could help out also: free engines


"The only thing that interferes with my learning is my education"

Albert Einstein

"It is a miracle that curiosity survives formal education"

Albert Einstein

 


#10 MrDaaark   Members   -  Reputation: 3555

Like
2Likes
Like

Posted 22 January 2013 - 04:55 PM

A lot of those engines on that list aren't that good, or severely limited.

Ogre is just a rendering engine. Nothing wrong with that, it does it's job very well. But that's an apples to oranges comparison. It's not a game engine.

Irrilict was a mess. Nothing worked very well. Basically made by a group of guys who just copied everything Quake2 did. Anytime you see an engine, and all the supported functionality revolves around what quake did, and quake file formats AVOID AT ALL COSTS! Forum is full of 'tard know-it-all, OSS zealots, who can't help you with anything when it comes to making games.

GTKRadiant (which is on the list) is not a good editor in 2013. I say this as someone who used to live in various flavors of Radiant for years and years. Unless you are modifying old ID games, it won't do anything for you. It's not 1996, we can model with real polygons now, and not have to be limited to using an outdated brush system, and a unneeded power of 2 coordinate system. Brushes are abstractions over polygons, and you can't even drag a vertex without the editor modifying the rest of the brush to maintain a legal shape. Unless you are making a corridor shooter made out of very coarse and simple shapes, it will fail you miserably.

Panda3D is awesome if you are using Python. It advertises C++ compatibility, but when I tried it years ago, there wasn't any C++ documentation, and they didn't make it very easy to use it.

Blender's built in game engine is good for Python too. Just model stuff, add some logic blocks, and start the game engine to watch it all in action. Very good for prototyping ideas.

The rest of that stuff is not worth anyone's time. It's all just someone's hobby project. They don't have good support, or knowledgeable user bases. Unity and UDK have tons of KNOWLEDGEABLE people making cool stuff to get help and inspiration from. With Unity at least, you can just google "Unity3D <Whatever problem you are having>" and get a ton of results from their forums and answers site, and wiki.

#11 Casey Hardman   Crossbones+   -  Reputation: 2244

Like
4Likes
Like

Posted 22 January 2013 - 06:55 PM

I've been with Unity for a while now, and I've tried out UDK.

 

Honestly, as a beginner, I think you'll have a much easier time with Unity, and the price to pay is very little.

 

Unity does lack some graphical capabilities that UDK has, but Unity is overall much more innovative when it comes to the user interface.  Very easy to use once you grasp it, and grasping it isn't very hard.  Unity 4 is coming out with some pretty good looking features as well, including rendering and graphics boosts.  I think the graphics difference between Unity and UDK will be mostly insignificant soon enough, as Unity improves.

 

UDK doesn't seem to have any detailed and straight-to-the-point documentation on how to make a game.  I think it was made more specifically for mods, not just making games.  Even with hours of searching and playing around with it, I couldn't figure out how to do some very simple things, like making a simple 'player' that can move with WASD.  I could do that in 2 minutes with Unity, clean and easy, but UDK seems to insist on making me inherit from pre-made classes in a maze of not-very-explanatory documentation and web searches.  For a programmer, this is kind of like a slap in the face; I want to program my game my own way.

 

Unity also has the capability of targeting multiple platforms, including Android, iPhone, XBox360, PS3, and Wii.  Unity 4 is introducing quite a few exciting new things, including building for Linux and Adobe Flash Player, and as previously mentioned, graphics and rendering updates.

 

So I'm of the opinion that Unity is better for making games, not mods.  Unity has great organization of your scripts and assets, very easy and straight-to-the-point user interface, and lots of very helpful and nice people in the community (I'm not saying the UDK community is rude).  Also, it supports scripting with C# and its own, easy-to-use UnityScript language.

 

Though my experience with UDK is limited, I have many reasons to say Unity is a very good engine, and I think you'll have a much easier time getting into Unity than you would UDK.  I'd take it over UDK any day, because it just seems much more innovative, and there are lots of exciting things going on in the Unity community.

 

 

Hopefully I don't sound like a "Unity fanboy" because of this.  Just wanted to offer my personal experience with the two engines.



#12 BornToCode   Members   -  Reputation: 949

Like
0Likes
Like

Posted 23 January 2013 - 12:55 AM

it is worth considering that the licensing terms/costs are drastically different:

 

Unity has a free indie license, but the feature set is significantly crippled - my impression is that most serious developers will be looking at a commercial license instead. A commercial unity license costs $1,500 per developer (plus $400 for each of iOS and Android publishing, if you need those), but you never have to pay any royalties.

 

The UDK requires a $100 publication license when you are preparing to ship your product, but also charges 25% royalties on any revenue after the first $50,000.

 

This presents you with an interesting cost equation. Unity's per-seat licenses are expensive upfront, but after that you never need to pay a dime. The UDK costs pretty much nothing upfront, but if your game produces a high revenue, you will be paying a fair bit of money out in royalties. My back-of-the-envelope calculation suggests that the UDK might be more cost effective for a game that grosses under ~$120,000, and Unity is significantly more cost effective for a game that exceeds that figure - but you should run your own projections to validate the choice for your particular situation.

 

One other hard fact is that you will have to shed a huge amount of cash out if you need to change something in the source codes as well. I guess options like Ogre and Torque could be worth considering as well. In fact this link could help out also: free engines

I believe the OP is looking for something that comes with IDE, not just an GameEngine.



#13 Karsten_   Members   -  Reputation: 1655

Like
-1Likes
Like

Posted 23 January 2013 - 10:55 AM

Irrilict was a mess. Nothing worked very well. Basically made by a group of guys who just copied everything Quake2 did. Anytime you see an engine, and all the supported functionality revolves around what quake did, and quake file formats AVOID AT ALL COSTS! Forum is full of 'tard know-it-all, OSS zealots, who can't help you with anything when it comes to making games.
This is a tad unfair. Admittedly I do find the API a little messy and fiddly but it is good enough to get you started quickly with cross platform C++ games development. Something that UDK and Unity can't really achieve to the same extent (being closed source).
GTKRadiant (which is on the list) is not a good editor in 2013
Lol, I perhaps agree, but it also shouldn't be overlooked completely. Especially for coders who have no time to learn a full on modelling tool. Plus with the 1.5 version, it can export a map to Wavefront .OBJ making it quite acceptable for blocking out the majority of my level.

Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.


#14 MrDaaark   Members   -  Reputation: 3555

Like
1Likes
Like

Posted 23 January 2013 - 11:28 AM

Being C++ and Open Source are just 2 irrelevant implementation details. The engine was a bunch of random components thrown together with outdated technology. The animation system was a joke and just did everything quake did with no concept of any modern techniques like blending or bones (although they had started patching that in eventually). It's what I would expect a bunch of hobbyist to build after reading a bunch of tutorials and source code releases. Just because someone has a webpage and a project up on sourceforge doesn't mean it's any good, or worth your time. A turd is still a turd. Regardless of source code license.

UDK and Unity are cross platform, and can support custom C++ code in different ways. Since most proper game code is created with a scripting language with a C++ engine doing the system work anyways, this is a moot point.

GTKRadiant (which is on the list) is not a good editor in 2013

Lol, I perhaps agree, but it also shouldn't be overlooked completely. Especially for coders who have no time to learn a full on modelling tool. Plus with the 1.5 version, it can export a map to Wavefront .OBJ making it quite acceptable for blocking out the majority of my level.



You can block things out much easier in a proper modeling tool, with a better tools, more accuracy, and not be stuck on an old integer power of 2 coord system. This is a tool from the early 1990s that was made specifically to for a specific game engine and it's quirks. I don't know why you would want to drag in a big OBJ brush mesh and then have to rebuild it from scratch in a proper scale (so lighting and physics work accurately with a proper meters based unit scale). Why do something wrong so you can go back and do it right later?

I also used to live in the BUILD editor that was used for the Duke3D engine games. Great editor. But it has no use editing anything else. It's from a bygone era 2 decades ago.

#15 Karsten_   Members   -  Reputation: 1655

Like
-1Likes
Like

Posted 23 January 2013 - 11:51 AM

I don't know why you would want to drag in a big OBJ brush mesh
I dont know if you have used *Radiant, but it is split up into multiple smaller meshes if required.
and then have to rebuild it from scratch in a proper scale (so lighting and physics work accurately with a proper meters based unit scale). Why do something wrong so you can go back and do it right later?
Though you find open-source an "irrelevant implementation detail", because Radiant is open-source, it is very easy change the scale that the exporter saves the .obj file as. (Though you will need to be able to compile the thing and thus have a fair knowledge of C and C++ rather than just a scripting language).
I also used to live in the BUILD editor...
Would be pretty good if it exported to .obj.

Tbh, any tool that makes it easy for a non artist to get their ideas across is good. Afterall, Maps can't be build in Unity alone.

Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.


#16 MrDaaark   Members   -  Reputation: 3555

Like
1Likes
Like

Posted 23 January 2013 - 06:13 PM

You're arguing just to argue and speaking from inexperience.

Yes I've used radiant. If you bothered to read anything I wrote, I said I used to live in it. I know it inside and out.

It is a very poor modeler, because it's not a modeler, it's a level editor for a specific old set of games. You can't create any arbitrary shapes because brushes are not free form polygons. They are abstractions over polygons. You could only create shapes that were legal in the games it was made to edit, where the shapes were used for both the graphical display, and the collision mesh. When you are done, you feed your brushes to the BSP compiler that took all the plane definitions that made up a brush, and spit out a quake level.

You cannot easily change that just because radiant is OSS. You'd have to rewrite the entire program from scratch. It's not a general purpose 3D modeler. It's a brush editor. This is not what a proper 3D modeler does.

So when you get your import your radiant created data into your modeler, it's all junk and you have to go over it again. You have to rescale everything to fit a proper scale (not that 2,4,8,16 crap), and then you have to redo all your crude shapes that radiant couldn't handle. Then you have to open up every submesh and redo the UVs into the proper floating range (0.0-1.0) instead of the world space coords + manual offset that radiant used.. You have to go over everything from scratch. So it's not helping anything to use it as a first step.

In modern times we can build a crude collision mesh, and then a new layer with the actual displayed geometry with proper floating point vertex coordinates, and whatever shapes we can dream up. No reason to use an outdated and useless old iD game editor. just like there is no reason to use an old EGA, 320x200, 16 color paint program to make sprites.

As for BUILD, what are you going to do with a bunch of LINEDEFs and SECTORs in an obj file (which aren't in the OBJ spec)? They are useless outside of BUILD.exe ;) There is not a single bit of relevant data in there to use anywhere else.

#17 TwiiK   Members   -  Reputation: 148

Like
2Likes
Like

Posted 24 January 2013 - 07:15 AM

As someone who has barely tried UDK (because it really felt counterintuitive) I think what Sir Mac Jefferson said pretty much sums it up:

 

UDK doesn't seem to have any detailed and straight-to-the-point documentation on how to make a game.  I think it was made more specifically for mods, not just making games.  Even with hours of searching and playing around with it, I couldn't figure out how to do some very simple things, like making a simple 'player' that can move with WASD.  I could do that in 2 minutes with Unity, clean and easy, but UDK seems to insist on making me inherit from pre-made classes in a maze of not-very-explanatory documentation and web searches.  For a programmer, this is kind of like a slap in the face; I want to program my game my own way.

 

I tried CryEngine as well and it's the same story. With both UDK and CryEngine I started them up, loaded one of the included levels and played around for a while. You're basically just playing Crysis or Unreal Tournament 3 at this point. Then I found a guide on how to add a custom weapon which was easy enough. Now I wanted to start making an actual game. Something simple like Tetris or Asteroids to get me started. This is where I found no help or guides and couldn't even figure out where or how to write the first line of code.

 

If you search for UDK on youtube you find all these amazing demos, but they are mostly made by experienced game developers or just artists using the engine to showcase a single level or map. Finding examples of the simple games you would expect to make as a beginner is not so easy.

 

With Unity it was a completely different experience for me. Not only is there huge amounts of tutorials available, but you also build your game from the ground up instead of adapting (mod) an existing game to fit your needs, at least that's how I felt when fiddling with UDK or CryEngine. In my fairly short time with Unity I've prototyped all kinds of different games and game concepts and it's been a smooth ride so far.

 

I'm just a hobbyist so the pros/cons on the different pricing structures doesn't apply to me at the moment. My goal is to create a few games on the side and if I see potential, I will consider becoming a full time game developer. And if I do that then Unity seems superior to me. I need at least $100 000 a year to consider making games full time and that's a lot of money lost to royalties with the UDK pricing structure compared to the fairly cheap one time cost of the different Unity versions. It's like having a publisher taking his share of your profits vs not having one.

 

As for Unity Free vs Unity Pro debate, there's always a ton of posts on the official Unity forums regarding the lack of features in the free version, but I recently upgraded to Pro and there's perhaps 1 or 2 features I use in 1 or 2 of my games. The rest doesn't use any Pro features. Most of the posts however are from people not actually producing games or content, they're just on the forums whining. Sure if you're making the next Gears of War or Battlefield you need HDR, tonemapping, bloom, depth of field, render textures etc. etc. But you're not. Nobody is. You're making small games fit for a single developer or a small team.

 

Honestly I would prefer it if they kept the $100 Unity Indie version instead of the free version because $100 was just enough to keep a lot of the mod makers and plain posers out of the forums, but I understand the business decision behind it. You still find a lot of quality threads on the Unity forums. Just look at the recent DX11 competition entries to see what Unity 4 is capable of in terms of graphical power. There's a lot of stuff there similar to what we've been shown in the Unreal Engine 4 demo.



#18 Karsten_   Members   -  Reputation: 1655

Like
-3Likes
Like

Posted 24 January 2013 - 07:57 AM

When you are done, you feed your brushes to the BSP compiler that took all the plane definitions that made up a brush, and spit out a quake level.

You do not need to send it to a bsp compiler. You can export it straight to .OBJ (or load in the .map directly if you write a parser and tackle the plane equations) i.e.

http://www.katsbits.com/tutorials/idtech/make-models-from-bsp-maps-or-brushes-advanced.php#gtk15

You could only create shapes that were legal in the games it was made to edit

The outdoor areas in Doom 3 were made in an older version of Radiant and they are probably still better than the majority of levels created by indie developers using any other tool.

You cannot easily change that just because radiant is OSS.

Of course you can. It has brush, face, winding, vertex structs which can easily be used / modified for pretty much any task I would likely perform if I was using blender for making maps. The code is also relatively structured and flexible so anyone with knowledge in C++ can tweak it.

Anyway, what would you suggest instead? A non-artist spends weeks learning something like 3DS Max or Maya? I dont know if this is some snobbery or what but if a developer wants to make a game without any experience in art, this old ID editor is still one of the easiest routes to take for artwork that is good enough for most indie games.

Anyways, this is off topic to the thread so I am going to stop here. I would just like to state that the tools used to create older AAA games (like Quake III) should certainly not be ignored by indie developers because they in most cases still provide greater functionality than required.

Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.


#19 Xirion   Members   -  Reputation: 262

Like
0Likes
Like

Posted 25 January 2013 - 10:32 AM

Thank you all for your replies, i think i'm going to go with unity since i've never worked with an engine before, and it seems to be easier for a begginer to pick it up. 



#20 Jirachex   Members   -  Reputation: 146

Like
1Likes
Like

Posted 26 January 2013 - 12:53 PM

I tried both engines out and personally I prefer Unity 3D.

 

The lack of rendering to texture and dynamic shadows in Unity Indie are not that limiting. You could still make a game that looks great, or try to develop an art-style that doesn't require dynamic shadows to look good. As for Unity vs. UDK, UDK seems to be more geared to develop shooters with high quality graphics and Unity is more of a blank slate that lets you do anything. Sure you can get the same results with UDK but unless you are trying to make an FPS, allot of code will have to be rewritten. I also heard that the built in networking in UDK only scales up to 64 players where as the built in networking in Unity is not limited by a number of players.

 

Overall, Unity is much more user friendly and it's cross platform support makes it very easy to run your game anywhere. UDK is more of a professional level tool with fancy graphics rendering and an FPS code base right out-of-the-box.

 

- Jirachex


Edited by Jirachex, 26 January 2013 - 12:53 PM.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS