Unity 5 vs. Unreal 4
So, there’s a been a bit of a kerfuffle recently regarding Unity and Unreal – two major competing game design engines, that are (as of now) both free – to a point. What this means is that, more than ever, indie developers have a means of creating games on the cheap. There is a cost to both of them, but only if your game achieves a certain level of success.
I have a lot more experience with Unity than I do with Unreal 4, but I’ll write my thoughts on both here. I’ve recently made the switch to Unreal 4 for my latest project, but that’s because I think it’s a much more natural fit than Unity for what we’re trying to create, rather than because I find Unreal to be objectively better.
First up, some of the aspects of Unity. I’ve done most of the my student work with Unity, but haven’t moved beyond either educational projects or hobby projects, and have no professional experience in it. As a matter of fact, I have no professional experience with Unreal 4 either, so take what I’m going to say with a grain of salt.
It’s worth mentioning that Unity has been used to create a few influential titles, such as Hearthstone, Thomas Was Alone, Wasteland 2 and Cities: Skyline (and more). There’s no taking this engine lightly, though I personally find it has a higher wall of entry than Unreal 4, by which I mean it requires a bit more time to get used to. This isn’t really a fact, but at face value Unity certainly seems more intimidating.
One reason for this is that – at least without certain addons – Unity doesn’t have a visual scripting system, requiring the user to learn at least a bit of programming (probably Java or C#). I can tell you from experience that this is incredibly intimidating, and that a lot of people feel as if they require a formal education to learn how to code. Having learned some scripting myself (in C#), I can tell you now that I don’t believe that at all. I think it’s more than possible to teach yourself scripting as long as you have access to the internet. If you’re reading this and considering learning how to use Unity, don’t be afraid! It’s a little intimidating, but when it clicks, it’s all worth while.
One of the major drawbacks – and the reason we’re avoiding Unity on our latest project – is that it just doesn’t look great. This isn’t a problem if you have an art team, but if you’re a small or solo developer, it’s going to look like ass without a serious time investment. Unity 5 has real-time lighting for the free edition, and while I haven’t had much of a chance to play around with it, but it’s a huge step in the right direction as far as graphics go. Conversely Unreal 4 looks amazing with no effort, though I’ll talk more about that later.
Once you’re used to it. you’ll find Unity to be a very flexible engine. It’s easy to create whatever kind of game you want, from sprawling first-person RPG to small puzzle game. However, I think it requires a fair amount of experience to get anywhere significant with it. I don’t want to dissuade anyone, though – if you’re thinking about giving it a go, I’d totally encourage you to do so. It’s a powerful and flexible engine, and if nothing else it can certainly be used to prototype a concept quickly and easily.
This ludicrously high-resolution image is indicative of one of the reasons Unreal is so great – the graphics. Anyone without any design experience at all can switch on Unreal and make something look like a AAA title. It also points out how amazing the particle system is. If your game needs particles, don’t look past Unreal.
One of the weaknesses of Unreal was only evident to me because I came from Unity, and that’s that there isn’t a whole lot of online support for Unreal yet. Well, there is, but not nearly as much as Unity, which is a pro I forgot to mention above.
Unity has an incredible amount of online support for everything, and a huge store full of incredible assets, both paid and free. If you have a problem during development, I can almost guarantee you’ll be able to find someone who’s fixed that exact some problem within minutes. At the time of writing, this isn’t the case with Unreal 4. I suspect this won’t last long as Unreal rises in popularity, but until then it’s worth noting.
To make up for this, Unreal has a much lower barrier of entry. When you start a new project you’re prompted to choose what time of game you’re making, from first-person shooter to turn-based strategy and everything between. Unreal will do half the work for you at this point, creating a basic game of that genre that you’re free to customise. For example, choosing the first person shooter template creates a small level with a first-person character and some (physics enabled) boxes to shoot at. It’s incredibly easy to get started, and in minutes you can create a fantastic looking and functional game.
The other thing is that Unreal has a visual scripting system. This is much more intuitive, in my opinion, and allows non-programmers to customise the game to their liking. For those not in the know, here’s what the Unreal 4 visual scripter looks like:
Alright, yeah, it still looks kind of awful. But compare to this;
And it’s easy to see why the visual scripter is so appealing. You take a node – say, press E – and plug it into another node, such as Jump. Voila! Your jump key is now ‘E’, and you’ll be forever shunned for not using the spacebar like a normal human being. It’s worth noting that you can also create your own nodes in C++.
It’s worth noting that these are only very lightly touching on each engine, and as mentioned I have limited experience with both (though especially Unreal 4). I think they’re both powerful engines, though Unreal edges out for me slightly. Between looking great and the visual editor, I find it too convenient. I think both engines have their place and I haven’t really used Unity since the 5.0 update, so it’s hard to say what’s changed. However, if I could only pick one to use from hereon, it would be Unreal 4 for ease of use.
So which do you prefer? Why? Do you agree or disagree with what I’ve said? Let me know in the comments!