# UDK or Unity? The best game engine for beginners?

## Recommended Posts

Chris941    144
Hi all!

I just started out in my indie game dev. Adventure and downloaded Unity, but the thought came in mind: which engine is better?

I read a comment that, and I quote "if you're new to the industry, the cryengine will bend you over and smack you till you cry" sounds hard!

But then I saw the Unreal Development Kit, and since Literal Epic Games have been created on it, and with some awesome lookin features, how does this compare to Unity?

I really want to test out the Unreal Development kit but I just downloaded Unity, so I want to know exactly which one will be better for me, as a complete beginner, and which one is easier!

Thank you so much,
Chris941

##### Share on other sites
riverreal    797
[b]If you are a complete beginner:[/b]
I think you should make 2d games first, and understand the basics of game structures.
I suppose you want to make games with programming ( the best way to make good games ) you should use SDL, SFML, or Allegro( all with c++) or maybe XNA? (with c#).

Unity uses unityscript ( javescript like ), javascript, c#, and boo.
UDK uses unrealScript ( c++ like ).
Try to taste both engines. And make the decision according to your comfort (likes).

The important thing is: You can't fly yet. You must first learn to crawl, before walking, learn to walk before running, and learn to run before flying...

##### Share on other sites
jefferytitan    2523
Unity is a fairly friendly engine to start with... if you know a bit of programming. Almost all are difficult if you don't have that experience. I believe there are a few 2D systems that are more drag-and-drop than coding, but note that your options are severely limited if you can't code.

Unity is somewhat drag and drop, e.g. you can import models and attach other people's scripts to them, but then you're dependent on someone else having written EXACTLY what you need.

##### Share on other sites
nooblet    167
I think you need to understand how game development works before you start using an engine to make a game. First and foremost, I'd recommend you start learning C#. Work on data types, if-else statements, game loops, collections, properties, classes, polymorphism, inheritance, encapsulation, arrays, the list goes on and on. Once you understand the basics of C# programming, then you should move onto programming with XNA. You can then write 2D or 3D games with XNA, understand how the design and coding process works when creating a graphical game. Once you have a solid foundation with XNA, you should start moving into Unity. Unity supports C# for writing scripts, and you'll understand the basics of 3D game development, so by then, Unity will be very easy to pick up and start developing your game.

##### Share on other sites
Mr Rage    116
You are capable of starting a (very small) 3D game on Unity. I made a game using Javascript, where you was a snake and you have to shoot fire at the turrets also dodge the turrets shooting fire at you. I made a 3D game before I made a 2D game using Game Maker(School Project).

I've never used UDK, but from my experience with Unity, I suggest you use Unity.

##### Share on other sites
munito    1186
My Personal experience is still 50:50 for each engine.
I tried both Engines myself and I never worked with a complete engine before.

Unity:
+Beginner friendly
+Very Simple to use
+Good Tutorials out there
+Works on many Platforms
+Supports Javascript, C# and Boo scripting

-Free version has cutted features

UDK:
+Im in love with the Level Editor. Really Easy to use
+Kismet Editor (Used for scripting)
+Works on PC and Mac, not sure about Linux
+Many Tutorials
+Sick Lightning

-Harder to get into it
-Not suitable for a solo Project

Unity was easy really easy to use and you can create Games with it more quickly. Problem for me is the Pricing Model. The free version feels like a demo.
UDK is awesome BUT not made for a single developer. I guess when your working with at least an 2D and 3D Artist you can get more out of it.

##### Share on other sites
[quote name='riverreal' timestamp='1339729736' post='4949410']
I suppose you want to make games with programming ( [b]the best way to make good games[/b] )
[/quote]Emphasis mine.

I disagree with your assertion that programming is "the best way to make good games"; [i]players generally don't care how games were made[/i] as long as the games are good. If your goal is simply to make a game (or games) and you can do a good job of that without doing lower level programming, then you should go ahead and do so.

Learning some programming basics outside of Unity is probably a good idea, but I would suggest the idea that a person [i]must[/i] program a complete 2d game before trying to use an engine like Unity is probably taking things too far; Unity is designed to be beginner friendly, and there's no reason a person couldn't make their first game [i]with[/i] Unity rather than spending time learning an unrelated library first.

For the original poster, I would probably suggest Unity as the more beginner-friendly option. To get the most out of it you may want to learn some programming basics (whether it be C# or JavaScript) outside of Unity before trying to do scripting -- just work through any beginner book or set of online "learn to program" tutorials to learn the basics of the language, and you'll find yourself much better equipped to deal with any scripting that needs to be done.

If you're really interested however, it won't cost you anything (other than a little time) to also download and try UDK so that you can choose the one you prefer rather than basing your decision on the opinions of others. You'll likely find UDK a little less beginner friendly, but it's obviously a very capable option, and as mentioned by Olaf above, for some people's needs to UDK licencing can be more favourable than UDK; it all depends on what you actually need.

I wouldn't bother going to extensive lengths to learn other libraries and build a game at a lower level before using one of these engines [i]unless you really want that experience[/i] rather than just wanting to make games; players don't care how games were made, and you simply don't really need to do that in order to use a package like Unity effectively. [i]If[/i] you do want that experience of working with a lower-level library before transitioning to one of these engines (and I can't stress enough that this should only be done if you want to -- don't feel it's something you [i]must[/i] do) then I would probably recommend starting with C# and XNA.

##### Share on other sites
larspensjo    1561
How about the [url="http://irrlicht.sourceforge.net/features/"]Irrlict [/url]game engine? I haven't tried it myself, but maybe it should be considered in the comparison.

It is completely free, for all features.

##### Share on other sites
I think Unity is best as there are massive amounts of tutorials ranging from Tornado Twins which is complete beginner no programming history, to Design 3 Scripting tutorials. UDK has little to no tutorials for beginners and it a dieing C++ language. C# and Java and UnityScript are way more user friendly, also drag-and-drop in Unity works very well and is easy to learn.

##### Share on other sites
larspensjo    1561
[quote name='Fallenrat' timestamp='1339760908' post='4949506']
...and it a dieing C++ language.
[/quote]
I think you are trying to start a flame war If you claim that C++ is dying. It should certainly not be used for a decision what about game engine to use!

##### Share on other sites
riverreal    797
I disagree with your assertion that programming is "the best way to make good games"; players generally don't care how games were made as long as the games are good. If your goal is simply to make a game (or games) and you can do a good job of that without doing lower level programming, then you should go ahead and do so.
[/quote]

Obviously the players don't care how games were made, but they care the quality of the game. With programming you can "configure" all of the characteristics of the game.
The programming provides the possibility to make it better than its already defined.

Just for curiosity, which games are made without programming and has AAA quality?

I was talking about "hardcore" games, not casual games...

Sorry for misunderstanding

##### Share on other sites
6677    1054
[quote name='larspensjo' timestamp='1339749107' post='4949476']
How about the [url="http://irrlicht.sourceforge.net/features/"]Irrlict[/url]game engine? I haven't tried it myself, but maybe it should be considered in the comparison.

It is completely free, for all features.
[/quote]
And Open source, however its basically rendering only. I wouldn't call that all features. Limited/no physics. No audio. Does have a large selection of file formats though. If you can provide your own physics (ODE and bullet wrappers available for tighter than normal integration) then its probably really good. Theres an external plugin Irrklang for 3d sound but I guess OpenAl would work fine seeming as IrrKlang is non-commercial use only.

##### Share on other sites
[quote name='riverreal' timestamp='1339784052' post='4949619']
Just for curiosity, which games are made without programming and has AAA quality?
[/quote]I'd guess there are none (other than perhaps the rather dated example of [url="http://en.wikipedia.org/wiki/Myst"]Myst[/url], which was developed with the Hypercard authorware system), but we're not talking about AAA development here: the OP is a beginner and is getting into indie development. As such, the methods and requirements of AAA development don't really apply. [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img] Edited by jbadams

##### Share on other sites
Washu    7829
the OP is a beginner and is getting into indie development. As such, the methods and requirements of AAA development don't really apply.
[/quote]
Don't apply AT ALL.

Seriously people, get out of the mindset that "just because AAA games do it, I must too." This applies to everything, including what engines you use, what languages you use, and whether or not to use regenerating health.

As far as Unity vs UDK goes...

I've always found UnrealEd to be fairly easy to get into, but the Unity editor is also quite trivial to get into as well. They both have some decent tutorials, however I believe the projects that come with unity are both more complete and generally easier to follow. MY recommendation then would be to use Unity. Edited by Washu

##### Share on other sites
I haven't used Unity or UDK (not quite satsified with my grasp of 3d graphics theory yet)...but I would presume which engine you choose would depend on what kind of game you are trying to make and what your actual requirments are. So what are they? What kind of tradeoffs are you prepared to make?

I think learning the fundamentals of OpenGL or Directx...which is what these engines run on...would be the best way to start. Then you'll be much better prepared to purchase an engine that fits your application.

##### Share on other sites
Chris941    144
[quote name='timothyjlaird' timestamp='1339810868' post='4949699']
I would presume which engine you choose would depend on what kind of game you are trying to make and what your actual requirments are. So what are they? What kind of tradeoffs are you prepared to make?

[/quote]

For the game I'm starting off small I wanted to create a catapult type game where the main objective is to destroy the other castle, but with customizable catapults, unlocks, hidden secrets, unexpected events and so on so forth (for example: you fire into a lake next to the castle and the loch ness monster comes out and destroys the castle, but now YOU have to destroy the monster, etc etc)

For trade offs I'm not sure exactly what you mean

And to everyone, thanks for all these comments and the ones to come! They are great to read and I'm learning quite a bit from them!

##### Share on other sites
Chris941    144
So from what i read, Unity is the suggested engine and at least a little bit of coding would help? After watching a demo on Cryengine 3 , i decided to download that but alas, my laptop couldn't handle it...i was running at 2 (8 at the most for 2 sec.) fps! Edited by Chris941

##### Share on other sites
DeafTV    1705
[quote name='Chris941' timestamp='1339848048' post='4949775']
So from what i read, Unity is the suggested engine and at least a little bit of coding would help?[/quote]

Yes, in order to create a game you must be able to program and have a pretty good amount of skill in the language you are using.

##### Share on other sites
Chris941    144
[quote name='DeafTV' timestamp='1339901095' post='4949937']
[quote name='Chris941' timestamp='1339848048' post='4949775']
So from what i read, Unity is the suggested engine and at least a little bit of coding would help?[/quote]

Yes, in order to create a game you must be able to program and have a pretty good amount of skill in the language you are using.
[/quote]

I have many questions on just how I would use it though, but there's another topic for that.

##### Share on other sites
[b]@Chris:[/b] I think you might be suffering from a bit of "decision paralysis": you're finding lots of different options, finding lots of information about them and spending a [i]lot[/i] of time trying to correctly choose between them. Really, all of the options you've encountered are good, and without any experience you're not yet well equipped to decide on any of them as "best" for your needs.

I would suggest you pick [i]any one[/i] of the options you've been considering and [i]just get started[/i] with it. Jump in to the provided tutorials and start learning how to actually make games, not just by asking questions and reading information, but by actually going through the process. Your experience with any one of these engines as well as with game-making in general will still apply if you later decide to try another option, but you're unlikely to get very far unless you actually start using one of them.

Personally, I would suggest you get started with Unity, because:[list=1]
[*]It's very beginner friendly (perhaps more-so than the other options),
[*]It has LOTS of tutorials and sample projects available, as well as a very active community to help you get started.
[/list]

I hope that's helpful, and good luck! [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]

##### Share on other sites
Chris941    144
[b]@Chris:[/b] I think you might be suffering from a bit of "decision paralysis": you're finding lots of different options, finding lots of information about them and spending a [i]lot[/i] of time trying to correctly choose between them. Really, all of the options you've encountered are good, and without any experience you're not yet well equipped to decide on any of them as "best" for your needs.

I would suggest you pick [i]any one[/i] of the options you've been considering and [i]just get started[/i] with it. Jump in to the provided tutorials and start learning how to actually make games, not just by asking questions and reading information, but by actually going through the process. Your experience with any one of these engines as well as with game-making in general will still apply if you later decide to try another option, but you're unlikely to get very far unless you actually start using one of them.

Personally, I would suggest you get started with Unity, because:[list=1]
[*]It's very beginner friendly (perhaps more-so than the other options),
[*]It has LOTS of tutorials and sample projects available, as well as a very active community to help you get started.
[/list]

I hope that's helpful, and good luck! [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]
[/quote]

It does help, and all the other comments help also! its just the question: how would i create this? but i'll learn that eventually i guess. Thanks!

##### Share on other sites
SimonForsman    7642
[quote name='riverreal' timestamp='1339784052' post='4949619']
Just for curiosity, which games are made without programming and has AAA quality?
[/quote]I'd guess there are none (other than perhaps the rather dated example of [url="http://en.wikipedia.org/wiki/Myst"]Myst[/url], which was developed with the Hypercard authorware system), but we're not talking about AAA development here: the OP is a beginner and is getting into indie development. As such, the methods and requirements of AAA development don't really apply. [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]
[/quote]

Allthough strictly speaking scripting is also programming, so pretty much all games made with Unity, UDK, etc involve quite a bit of programming. (Not as much as if you write everything from scratch ofcourse but still quite alot (Especially for larger games as the engine only really handles the basics for you)).

a better question might be: How many AAA games are made without the use of [b]any middleware[/b](I'd be surprised if you need more than one hand to count those), If you want to make a good game you'll benefit greatly by taking advantage of the tools that are available to you, rejecting a tool because it is easy to use is fairly silly (The easier a tool is to use the better), Just look at the number of AAA games using ScaleForm for example.

The only questions you should ask are:
1) Does the tools support my target platform(s) ? (With Unity the major non supported platforms would be Linux, Blackberry, Symbian and Windows Phone, none of which is all that important)
2) Are there any unacceptable limitations ? (Unity free has a bunch which may be an issue, the pro version is pretty darn flexible)
3) Does the timesavings/productivity gains justify the licensing cost ? (You shouldn't buy Unity pro if you're only going to make a wordfeud clone) Edited by SimonForsman

##### Share on other sites
Chris941    144
[quote name='SimonForsman' timestamp='1339950305' post='4950043']
[quote name='riverreal' timestamp='1339784052' post='4949619']
Just for curiosity, which games are made without programming and has AAA quality?
[/quote]I'd guess there are none (other than perhaps the rather dated example of [url="http://en.wikipedia.org/wiki/Myst"]Myst[/url], which was developed with the Hypercard authorware system), but we're not talking about AAA development here: the OP is a beginner and is getting into indie development. As such, the methods and requirements of AAA development don't really apply. [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]
[/quote]

Allthough strictly speaking scripting is also programming, so pretty much all games made with Unity, UDK, etc involve quite a bit of programming. (Not as much as if you write everything from scratch ofcourse but still quite alot (Especially for larger games as the engine only really handles the basics for you)).

a better question might be: How many AAA games are made without the use of [b]any middleware[/b](I'd be surprised if you need more than one hand to count those), If you want to make a good game you'll benefit greatly by taking advantage of the tools that are available to you, rejecting a tool because it is easy to use is fairly silly (The easier a tool is to use the better), Just look at the number of AAA games using ScaleForm for example.

The only questions you should ask are:
1) Does the tools support my target platform(s) ? (With Unity the major non supported platforms would be Linux, Blackberry, Symbian and Windows Phone, none of which is all that important)
2) Are there any unacceptable limitations ? (Unity free has a bunch which may be an issue, the pro version is pretty darn flexible)
3) Does the timesavings/productivity gains justify the licensing cost ? (You shouldn't buy Unity pro if you're only going to make a wordfeud clone)
[/quote]

Thanks for commenting Simon! What exactly is middleware?

Anyway the game what I planned on doing is makin a few games for launch with my game studio for windows, then when i raise the 1,500 I'll go on to the Pro feature! I have no plan on making a clone, and especially of wordfeud! All original ideas! I may not know how I get these original ideas in game form, but they're original! Haha.

So 1) yes, going for windows then platforms
2) for the time, no because I have no idea what tey really are for the game, but later, yes

3) yes, no plans on making clones of games, they don't sell we'll I can tell! Especially when it's a rip of a popular game like angry birds, fruit ninja, or even....wordfeud!

##### Share on other sites
CaseyHardman    2765
Here are my two cents about Unity vs. UDK:

I only used UDK for a tiny bit and never got into scripting with it, but it seems less beginner-friendly than Unity3D. I believe it comes with a bit more capability of "graphical finesse" and customizable materials (which alter how things look). However, Unity Pro (which costs $1,500 at the moment, I believe) is always an option if you need fancy graphical tools somewhere along the road when/if your game is nearing finished. I've used Unity for a while now, and I have to say it's wonderful. The scripting is very intuitive in the way that you can reuse your scripts on various objects in a hassle-free way. Unity also supports multiple languages: C#, UnityScript, and Boo. UnityScript is called JavaScript by the engine, but it's pretty much a totally different thing, so people call it UnityScript sometimes to avoid confusion with JavaScript, which is for web development. Also, in my opinion, scripting with Unity is still very similar to programming and won't be neglecting you of "proper programming skills" as much as some might think. If you're getting into Unity, here are some tips, just from my personal opinion as a user of Unity and with some experience using Visual Studio and C#:[list] [*]If you need help with Unity or scripting something in Unity, you can ask for help on [url="http://answers.unity3d.com"]answers.unity3d.com[/url]. The community there is active and helpful. Remember to actually try and script something before you ask a question, otherwise you're just asking people to script your game for you! [*]Bookmark Unity's [url="http://unity3d.com/support/documentation/ScriptReference/index.html"]scripting reference[/url]. It has lots of examples for you to look at, and you can change them to show UnityScript, C#, or Boo. [*]You may have an easier time using UnityScript instead of C#. The reason is that UnityScript is more dynamic and might not bother you as much in some situations. [*]Don't worry too much about which language you start with. Switching from using UnityScript with Unity3D to using C# with Visual Studio took about a week for me to get comfortable. It's mostly just syntax stuff that you shouldn't have too much trouble with. The largest part is just getting the concepts of programming down. [/list] #### Share this post ##### Link to post ##### Share on other sites Chris941 144 [quote name='GHMP' timestamp='1339972391' post='4950102'] Here are my two cents about Unity vs. UDK: I only used UDK for a tiny bit and never got into scripting with it, but it seems less beginner-friendly than Unity3D. I believe it comes with a bit more capability of "graphical finesse" and customizable materials (which alter how things look). However, Unity Pro (which costs$1,500 at the moment, I believe) is always an option if you need fancy graphical tools somewhere along the road when/if your game is nearing finished.

I've used Unity for a while now, and I have to say it's wonderful. The scripting is very intuitive in the way that you can reuse your scripts on various objects in a hassle-free way. Unity also supports multiple languages: C#, UnityScript, and Boo. UnityScript is called JavaScript by the engine, but it's pretty much a totally different thing, so people call it UnityScript sometimes to avoid confusion with JavaScript, which is for web development.

Also, in my opinion, scripting with Unity is still very similar to programming and won't be neglecting you of "proper programming skills" as much as some might think.

If you're getting into Unity, here are some tips, just from my personal opinion as a user of Unity and with some experience using Visual Studio and C#:[list]
[*]If you need help with Unity or scripting something in Unity, you can ask for help on [url="http://answers.unity3d.com"]answers.unity3d.com[/url]. The community there is active and helpful. Remember to actually try and script something before you ask a question, otherwise you're just asking people to script your game for you!
[*]Bookmark Unity's [url="http://unity3d.com/support/documentation/ScriptReference/index.html"]scripting reference[/url]. It has lots of examples for you to look at, and you can change them to show UnityScript, C#, or Boo.
[*]You may have an easier time using UnityScript instead of C#. The reason is that UnityScript is more dynamic and might not bother you as much in some situations.
[*]Don't worry too much about which language you start with. Switching from using UnityScript with Unity3D to using C# with Visual Studio took about a week for me to get comfortable. It's mostly just syntax stuff that you shouldn't have too much trouble with. The largest part is just getting the concepts of programming down.
[/list]
[/quote]

GHMP,
Your two cents are worth two dollars to me! Thank you for the comment! Many people are saying what tou said, UDK is less beginner friendly, but of course it has better graphics! I think i will stick with unity until I release a game or a few that help me make money for something else (or unity pro)

And i guess ill have to start learning unityscript, and exactly how to program, but the biggest mind boggle that no one is telling me the answer for is How to create stuff or it! For example, menus, customization, and so much more! I can't even picture what it would be like....en Fin.

Anyway, thank you and thank you for the suggestion of unityscript and the basics of programming, along with Unity over UDK! You answered a lot of my wonders in that post alone!!!!!

Chris941

## Create an account

Register a new account