Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I'm trying to decide which engine I should start using to try to start building a game in.

I had chosen Unity, but upon hearing that Unreal Engine 3 had just become kinda free to use, I found myself questioning my decision.

Technically Unreal is still the most expensive commercially, then Unity, then id Tech 3 (free).

But, it also could be the fastest to work in? Or is just the most powerful, but Unity actually does so much for you, that it makes the most sense to work with this, and take a hit on performance/tuning (like Java/C#).

Thoughts please, can anyone speak from experience of all three?

I have experience with modding since the doom days, then in Quake 1 and Half Life. I also have experience in 3DS Max. I don't have a desire at this point my life to really get into the nitty gritty of C++ animation and rendering issues, I'd rather get something up and running quickly, to see if it's possible. But Unreal experience tempts me greatly.

share|improve this question

migrated from stackoverflow.com Jul 24 '11 at 10:35

This question came from our site for professional and enthusiast programmers.

closed as off topic by Tetrad Feb 25 '12 at 1:30

Questions on Game Development Stack Exchange are expected to relate to game development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

For anyone reading this, I only just got started with unity and I am really enjoying it. The editor seems a dream to work with. I haven't used a game creation tool since doomED-quake 1/unreal 1 days, and this certainly is pretty amazing. I wish I had time to try out Shiva/Unreal, but Unity is certainly getting me amazing resules. And C# with a good editor (monoDevelop isn't bad at all, about 75% as good as typing code in vs). –  optician May 19 '11 at 21:51
Also probably best to stick to c# when working with code, you just get more power with the language. It's not real javaScript, and I haven't tried Boo. –  optician May 19 '11 at 21:52
What kind of game are you creating? –  Psykocyber Jul 24 '11 at 13:02

6 Answers 6

up vote 17 down vote accepted

UDK, id Tech 3, and Unity are all vastly different tools.

With UDK, you have script-level access, not native. As such, you are somewhat limited in the modifications you can perform. Additionally, UnrealScript is extremely slow; as such, it's difficult to optimize any product you do end up creating.

Overall, it's not very well crafted for anything that drastically doesn't match Epic's product line.

id Tech 3 will give you C++ access. That being said, it's much older technology, the tools aren't as robust, etc. Personally, I've never used it; but, it's not something you're going to build a commercial product with (unless you're looking for something scaled back. Check out this list: http://en.wikipedia.org/wiki/Id%5FTech%5F3#Projects%5Fbased%5Fon%5Fthe%5FGPL%5Fsource%5Frelease).

As for Unity? It's a great place for a beginner/someone that doesn't want to have to delve into the complex details of an engine. Additionally, it's more flexible.

Can you release a triple-A title on it? No. That being said, you're not going to be using it for that.

With the ultimate goal of educating yourself without having to dive into C++, I'd highly recommend Unity.

share|improve this answer
-1 Exactly what is preventing you from creating a triple-A title in unity? Your statement that the id Tech 3 tools aren't as robust etc sounds like weasel words to me, can you back that up with hard facts? It's one of the most licensed game engines ever. –  Andreas Brinck Dec 18 '09 at 19:57
Seriously? You get a world editor. You don't have a materials editor, particle editor, physics editor, animset editor, animtree editor, or any of the various tools that make UnrealEd the industry standard and most licensed engine in the world. Plenty of wonderful games have shipped with id tech as their backbone. Guess what? They heavily modified the engine and build custom tools. It doesn't even use skeletal animation from the get-go! Unity3D? No triple-A title has been shipped with Unity. It does not support Xenon or PS3; so, you won't see any shipped on it. Happy? –  A.A. Grapsas Dec 18 '09 at 21:29
@Grapsas Thats not robustness, that's features. As for unity, there's nothing in the definition of AAA that implies that a game has to be on Xbox360 or PS3 to qualify, no? (Just for the record, I'm in no way affiliated with unity) –  Andreas Brinck Dec 18 '09 at 22:31
+1 And @Andreas no, you cannot create a AAA title in unity because it is not designed for that and because it doesn't scale well with large teams. –  Daniel Rodriguez Dec 20 '09 at 5:48
I wish we could post credentials so that words like "uneducated" couldn't be used. I'm a professional Unreal programmer. You'll note, we're talking about the UDK, not the full Unreal source code. Please read everything before commenting. The UDK gives only script access, as such it's difficult to do any major changes to the engine. Additionally, Hail to the Chimp is not a triple-A title. I don't understand the need to ignore the OP's needs. Re-read his desires. He doesn't want to code in C++, that removes ID tech from the race, UnrealScript is similar to C++/Java... Unity it is! –  A.A. Grapsas Jan 4 '10 at 17:28

@optician - Short answer for your question, of the 3 pieces of software you mentioned, you will do best with Unity 3D. You don't want to dive heavily into C/C++ so that rules out id Tech 3 (it's also a bit dated). Unity works with Javascript, C#, or Boo scripts attached to game objects and components so you can do as little or as much code as you feel comfortable with. Unreal is okay as well but I find the learning curve with Unity to be much shallower. You will put out a finished game more quickly and I think that is your ultimate goal, to make games.

@Andreas - I am currently using Unity 3D v2.6 to learn the engine for a personal project. I don't want to say it is impossible to make a AAA title with it but at the very least it is very unlikely.

For a prototype, all I did was import a moderately detailed model of a large space cruiser and Unity choked on it (meshes must not exceed 65,000 vertices). Granted that's an extreme example and it's fairly easy to use lower detail models but that's not the only issue. Being a space concept, I used accurate astronomical scale distances in a test using 1 Astronomical Unit between a planet and its star. Only to run into 32-bit signed floating point precision errors that caused the camera to jitter, stutter, and gyrate like a crack addict despite the values being several orders of magnitude below the 32-bit limit. I could set the far viewing plane to a maximum 1e+15 units at 60 degrees viewing angle before the camera started to go wonky.

Don't get me wrong, I like the engine and am a big fan. But for the purposes of AAA game development involving large teams with multi-million dollar budgets the currently available (to beginners) version of Unity is not as robust as Unreal Engine 3.5.

... id Tech 3 is a good place for a beginner to get a look at the C++ source code of a AAA quality game by the standards of several years ago but again, unless you want to go out and use someone else's tools written several years ago you will be spending a lot of your time constructing tools for the rest of your team before you can even start producing a "AAA" quality game.

Note: I am not saying you can't make a good game or even a great game. But it will not be competitive commercially with Modern Warfare 2, Halo 3, Gears of War 2, etc. That market is unforgiving with a different set of expectations and will not accept pre-DirectX 9 graphics quality.

share|improve this answer
can you please reformat your text, it's horribly readable, thank you very much! –  daemonfire300 Jul 24 '10 at 11:18
You space environment is uhm, I do not think it's a good example because every other engine out their would struggle with such things. For very specialized settings you have to use a specialized engine. But your last point, I agree on. –  daemonfire300 Jul 24 '10 at 11:21
@daemonfire300 You mean it's horribly unreadable. :) –  muntoo Oct 12 '11 at 1:25

Depending on your goals, Ogre3D can also be a valid option. It's free, open-source, portable, and there are quite a few high-quality toolsets to support different features you might be interested in. Their development community is fairly active and responsive to questions and suggestions as well.

share|improve this answer
It would probably take far more effort to utilize Ogre3D for your project. As you're looking for a rapid solution, I'd say stay away from it. If you want to expand out and build your own engine, go for it! It's very well maintained and a joy to work with! I just can't wait until it's ported to 360 and PS3! –  A.A. Grapsas Dec 15 '09 at 21:46
-1. Because Ogre3D is not a game engine. Being "just" a graphics engine, Ogre lacks tons of functionality compared to UDK or Unity. Also this is not answering the OPs question, since he specifically mentioned that he doesn't want to deal with C++, animation and rendering issues. (Don't get me wrong though, I love Ogre3d. I just think it doesn't suit the OPs reuqirements) –  bummzack Jul 24 '11 at 10:46

Torque 3D while you can still afford it, call it whatever you want but you can't beat the price nor is there a paid competition that lets you have the source code. With that said, you won't be stuck with shitty OpenGL crap with scaled back graphics, this is the real deal as far as close triple A engines of this nature can come.

share|improve this answer

id Tech 3 isn't really free - it's GPL, so your entire Game has to be GPL. You used to be able to license a non-GPL Version for $10,000 but that options seems to have disappeared after the Bethesda-acquisition.

Apart from it's age, id Tech 3 doesn't have much in the realm of Single-Player AI. So if you want to make a "traditional" shooter, you have a lot of AI work to do yourself. Another problem is the tooling. There are a lot of Map Tools, but that's about it. There is very little assistance in the Asset Pipeline or Shader creation.

On the upside, the Team Arena source contains an early version of MegaTexture and supports relatively large outdoor environments.

share|improve this answer
This is wrong. You can use GPL code in a closed project. All you need to do is to publish any modifications you make to the GPL-ed code. –  August Lilleaas Aug 2 '11 at 18:32
@August You are confusing GPL and LGPL. In the moment you incorporate GPL code, you are creating a derived work and thus have to comply to it. There is a grey area around dynamic linking, but that's a rather thin line to walk on. –  Michael Stum Aug 2 '11 at 20:05
The engine is GPL. The content can be licensed separately. Engine != content. –  Darth Satan Jun 30 '12 at 18:24

Well, according to me, (I've tried Unity AND Unreal) I can't really find a fault in how tough or complex they are - both are great - but it actually depends on what sort of a game you wanna make. Unity let's you create game that are based on modern warefare (not Call of Duty 4 Modern Warfare), whearas Unreal is more sci-fi based. I know this dosen't help much, but if I come across something, I'll let you know (if I'm not too late, that is). As for iD Tech 3 - I've never tried it!

share|improve this answer
-1 you do not pick an engine based on the theme of your game. Unreal or Unity can create modern games/space games. The graphic assets have nothing to do with the engine. –  Spooks Jul 24 '11 at 22:00

Not the answer you're looking for? Browse other questions tagged or ask your own question.