University Assignment: Unreal 4 vs Unity 5 - Beginners

Hello everyone,

I am in my final year studying Creative Media Technologies for my BSc, I have an assignment in which we must perform a “Technical Investigation” in our chosen subject specialisation. I have always loved working with game engines and creating small, playable games. For my Assignment I have decided to investigate which engine would be better for somebody who is looking to learn and create their first small game. I’ll be looking at things like user friendliness, ease of access, technical abilities of each engine, etc.

For research I would like to hear some of the communities’ opinions about which would be better for that specific reason. I have already started whiteboxing a level in each Unity and Unreal, it will be a small, cityscape environment in which the player will need to follow a road, over a bridge and open a few doors in an end building to complete.

I’m looking forward to hear what you guys think, which has stronger points in… etc.

If you also have any feedback about the investigation I am conducting and if you think there could be ways to better it, I am 100% open to it as of right now (Will be sitting down with my Tutor and discussing everything)

Thank you for reading and potentially posting!

I use both–in my experience Unity is very easy to get started with but that’s because it lacks many features. When you start getting into things more Unreal has more complete systems–with Unity you have to buy a lot of things from the asset store, for example the UI system in Unity is very limited. Unity has two advantages–one is the asset store which has many useful things and without which the engine would be pretty much useless. The second is that it’s very easy to target low-end systems, and that’s mostly due to the lack of features. When targeting low-end systems the disadvantage with Unreal is that there are some settings in config files that you might have to mess with and there’s stuff like post process FX that are on by default that might be slowing things down as well.

They had roughly equal ease of getting started for me, though leaning toward Unreal being easier. To me Unity’s workflow is completely retarded though. They’re obsessed with drag-and-drop to the point that you can’t do some things any other way. Like the whole prefab thing. Last I knew, you HAVE to drag-and-drop one into your scene to edit it, then find the Apply button camouflaged in an array of other buttons and boxes or else your changes will vanish with no warning, and then delete it from your scene. I was working on some animated UI sprites once, and apparently the easiest way to do it was a 6-7-step process of drag-and-dropping something from one panel to another, and immediately deleting it. Totally counter-intuitive. Unreal has it’s share of holes, but the way you do things with it generally makes sense to me.

Blueprints are the main thing that’s beginner-friendly about UE4 though. I think it’s easier to get started and you can go a lot further with them with no knowledge, compared to with C#, since they’re generally self-explanatory.
My main issue with Unreal is it’s such a monster. My computer is no gaming rig, but it’s fairly recent, with a strong CPU, and it’s all I can do to keep a simple asteroids game running at 60fps, and the build sizes are huge. Some friends and I made a small 3D strategy game with Unity; it’s final size was 45 MB and it ran fine on my brother’s 10 year old machine that runs XP. :slight_smile: So in that aspect of making small games, Unity will definitely win. I believe it has better 2D features too, though I don’t have any experience there.

Unity fans love to extol the virtues of the asset store, but to me it’s one of it’s biggest drawbacks, since they’re obviously milking it for cash rather than building any new features into the engine, except those that will best attract new users. I once watched an official Unity presentation, just in the first 15 minutes, his list of “must-have” features totaled about $300 in asset store purchases. Unreal doesn’t depend on the marketplace for any serious functionality.

Anyway, sorry for that rant, haha. What sort of experience are you coming from? Are you a programmer, designer, or artist, etc? Maybe we can help point you in the right direction to get started. Have fun!

On prefabs–Unreal doesn’t have prefabs at all so that’s one thing that I wish was there, it would make constructing things much easier. For example with Unity you can take for example a bunch of chairs and put them into the position you want and export as FBX with the Instances option checked, and it’ll import to Unity as a prefab with instances of the chair so you don’t have to place all of the objects over again.
With Unreal people have had to make tools to try and place them in the right place otherwise you have to do it by hand.

With Unity and the asset store–I feel like they just aren’t good at adding the big new features they need to. The UI for example is done by the guy who did NGUI, and it’s far less featured than NGUI, and then the new lighting system is super buggy and there’s features they wanted with Unity 5 that aren’t coming any time soon (if at all) along with many fixes they still have to do. And that’s considering there’s stuff broken with Unity 4 still and they are ending support for Unity 4 at the end of the year.

Unity advantages:

  • Lower computer requirement for the editor.
  • Better for mobile development.
  • Better for 2D (but many other engines are even better).
  • A bit easier to make low requirement games.
  • C# easier to use than C++
  • More stuff in the Unity store.

Unreal advantages:

  • A more complete package, less reliant on additional purchases.
  • Easier to get high end graphics.
  • Blueprints is easier than C# and a great complement to C++ for more experienced developers.
  • In my opinion a more fun company and community to interact with.
  • A bit higher average qualty in the store.

Both are comparably easy to use. Unity has a clear edge on mobile 3D games. But for PC (and consoles) I belive UE4 is considerably better for even a beginner, and the gap widens the better you get and the bigger game you make.

What are you referring to? If not Unity, what would you recommend for a mobile 2D game and a PC 2D game then?

As a beginner i would use Construct 2 or Gamemaker. For a more experienced developer an even lighter framework could be better.

I fall into the category of a true beginner who’s been messing around with both engines, so perhaps my experiences may apply. I do have some prior general programming experience from some college courses and my own tinkering, but I’d probably describe my programming skills as “advanced beginner” at best. So far I’ve just been tinkering with both, making some very small projects and seeing how things go. As of yet, I can’t say I’ve really come to a solid decision as to which I want to focus on.

Unity left the better first impression for a true noobie. It’s hard to nail down exactly why, but I think it’s their beginner tutorials. Both engines offer these, but I felt the pacing on the Unity ones were better. The presenter seemed more rehearsed and I felt like I was understanding what was going on more. The UE ones just felt more disjointed to me, I actually ended up trying out a book instead to learn from.

The Unity documentation seems to be way better than UE, which has also been very helpful to me. I like to understand what I’m doing as opposed to just copying code, so I’ll usually stop during a tutorial and research something if I don’t get what it’s doing. A small example that sticks out in my mind, the project I was following was using the “Get World Delta Seconds” blueprint. I wasn’t quite following the purpose of it, but it seemed important. In fact, I remembered a Unity tutorial using “Time.deltaTime” and that had somewhat confused me too, so obviously this must be an important concept, having seen it twice now. The tooltip didn’t help me, so I went to the documentation. Ugh. The documentation is exactly the same as the in engine tooltip: “Returns the frame delta time in seconds adjusted by e.g. time dilation. Target is Gameplay Statics”. I’m sure this means something to a real game dev, but not me. Ultimately, the UE answers section had some user explanations on what it was doing, which was nice, but I’d much rather hear it straight from the source.

I decided I’d check out the Unity API docs for “Time.deltaTime” to see their explanation: “The time in seconds it took to complete the last frame (Read Only). Use this function to make your game frame rate independent. If you add or subtract to a value every frame chances are you should multiply with Time.deltaTime. When you multiply with Time.deltaTime you essentially express: I want to move this object 10 meters per second instead of 10 meters per frame.” Beautiful. I understand that. It even had a code snippet to show a simple use case. And this seems to be the case for most of the things I encounter in each engine. UE has a small, highly technical tooltip I don’t understand which is duplicated in the docs. Unity has a technical explanation, a layman’s term explanation for why you might use the function, and sample code for its use. Because of this, learning in Unity feels more independent. I’m able to do a lot of my own research without having to hope the community has an answer. UE documentation seems to assume you understand game development concepts already and you’re only consulting the manual to figure out how to do something the Unreal way, while the Unity documentation seems more focused on explaining things assuming you know very little.

Another thing Unity really has going for it is the asset store. Both engines have these, but there’s just way more stuff on the Unity store, given it’s been around longer. As somebody who’s just doing this for “funsies” I don’t see myself spending a ton of time on the artsie side and would just rather buy these when necessary.

Going back to the actual engines, I think I like UE better. It feels like it has more built into it. Blueprints are awesome. While I love what the Unity asset store is offering in models, sounds, art, etc…I hate that they seem to be purposely leaving out core engine components so they can be sold on the asset store. I think you’d need to spend $300 on the asset store to get Unity up to the same level of features as UE. I’m not super keen on relying on an additional outside party to keep my game engine fully functional.

So having said all that, I honestly still don’t know which one to focus on just yet. UE feels like a more complete experience that will serve me better as I gain knowledge, but getting that far seems like it will be far more frustrating. The official documentation is lacking and the community made tutorials are far less numerous than Unity ones. The UE doesn’t seem any harder or easier to use than Unity, it just has far less documentation and examples to learn from. It’s like if somebody dropped two equally complicated board games in front of you, but one of them only had half the instruction manual. The game itself isn’t actually harder than the other one, but learning to play it sure will be because there’s not as much information to go on.

Of course, my experiences may not reflect yours!

It’s not just me then, I can’t use unreal because my fans go in to turbine mode and don’t stop the whole time I’m in the editor. Unity only spins up fans when I’m play testing a complicated scene. Unreal has so much going for it but that’s a deal breaker for me, the only fans I like hearing should be knelt before me offering worship and sacrament.

Well, Blueprints can serve as some kind of prefab container. Even with its own behavior…
What UE4 lacks a bit is better “support” for the construction script though…

I haven’t used Unity, but I’m pretty sure that this community is a lot better. It’s not hard at all to get help on these forums, nor is it that rare for staff members to help assess some of the more advanced questions, heck, even Tim Sweeney is on the forums every now and then.

Unity 5 is significantly easier to start with, and its object model is much more intuitive for a programmer.

However, you are likely to hit some technical issue along the way later, and when that happens you’ll be at mercy of patching team.
With unreal 4 you have source code access, so you have a chance of patching things yourself. On other hand, digging source is not something a beginner will be able to do.

Also, unreal 4 out of the box offers AI decision trees, node based material editor and visual programming tools (which I don’t use), in case of unity those are available only through asset store and cost money.
The good portion of unity engine is it handles animation retargeting better than unreal, although unreal’s state machines are more powerful. Moving assets around is easy in unity and it is unlikely to result in data loss. (in UE4 you don’t want to move assets, ever).

So, for a beginner tinkering with first project, I’d recommend unity engine. When things start getting serious OR if there’s need for better visuals, switch to unreal.

Unity 5 is significantly easier to start with, and its object model is much more intuitive for a programmer.

However, you are likely to hit some technical issue along the way later, and when that happens you’ll be at mercy of patching team.
With unreal 4 you have source code access, so you have a chance of patching things yourself. On other hand, digging source is not something a beginner will be able to do.

Also, unreal 4 out of the box offers AI decision trees, node based material editor and visual programming tools (which I don’t use), in case of unity those are available only through asset store and cost money.
The good portion of unity engine is it handles animation retargeting better than unreal, although unreal’s state machines are more powerful. Moving assets around is easy in unity and it is unlikely to result in data loss. (in UE4 you don’t want to move assets, ever).

So, for a beginner tinkering with first project, I’d recommend unity engine. When things start getting serious OR if there’s need for better visuals, switch to unreal.

It is the same in both communities - with complex technical questions, you’re unlikely to get any assistance and are on your own.

True dat. The only questions of mine that get answered are the questions where I am just curious, or am completely new at the subject I am asking about.