Unity 5 vs Unreal Engine 4

With over four and a half million registered users, Unity is the most popular game engine there is. 47% of game developers use Unity, while only 13% use Unreal Engine. But let’s examine them both….

Price

This can be a big factor in deciding which game engine to use.

Unity’s “Personal Edition” of Unity 3D is a free, full featured engine. The professional edition, Unity Pro is $1500 per major release or $75/month. If you have Unity Pro, you get features such as a customizable splash screen, beta access, unlimited revenue and funding, Unity Analytics Pro, source code access, and much more. If your game makes above a hundred grand in annual gross revenue, you must purchase Unity Pro.

Unreal Engine 4 was previously $19 a month, but as of March 2015 Unreal has been and will be free, and you get the C++ source code. Once your game ships, you pay Epic Games 5% of your quarterly gross revenue per product after your make your first three grand.

Learning

Both engines have a very active communities, with discussion forums and answers hubs, as well as great documentation, tutorials, and wikis.

Unreal’s documentation is stellar, very well written with great explanations and screenshots.  While Unity’s docs are also great, they have some room to improve.

Unity has an amazing number of video tutorials on learn.unity3d.com. They have hundreds of professional tuts uploaded so far, for beginners and advanced users, covering every aspect of the game creation process. Both engines occasionally host live seminar style training sessions (Unity more often than Unreal).

Platforms

Unreal Engine: Windows PC, Mac OS X, iOS, Android, VR, Linux, SteamOS, HTML5, Xbox One, and PS4.

Unity 3D: Windows PC, Mac OS X, Linux, Web Player, WebGL, VR(including Hololens), SteamOS, iOS, Android, Windows Phone 8, Tizen, Android TV and Samsung SMART TV, as well as Xbox One & 360, PS4, Playstation Vita, and Wii U. It seems Unity is the winner in this area.

Graphics

With the release of Unity 5 came many new features that enabled developers to make beautiful, next-gen AAA games. But it seems Unreal is one step ahead in nearly every area of graphics: terrain, particles, post processing effects, shadows & lighting, and shaders all look amazing in Unreal Engine 4.

Ease of Use

Unity has always been known for their easy to use interface where beginners can jump right in and start making games. Though Unreal Engine 4 was a major improvement, they still take second place behind Unity in the area of user experience.

Both interfaces are very similar, with toolbars and settings within resizable & movable windows. Unreal’s UI is still quite bloated and complex. Everything takes longer and is more complicated than it should be. Assets take a long time to import and save, and simple tasks require extra, unnecessary steps. Unity 3D is fast, and the interface is quick and responsive. It’s so light that it can run on Windows XP (SP2), while UE4 requires at least Windows 7 64-bit. Though the final product can look nicer in Unreal than in Unity, getting there takes longer and much more effort, especially for beginners.

Code

Unity games are programmed with JavaScript, C#, or Boo. Most developers use either JS or C#. It’s not required to only use one. You can use one or the other, or all three. Unreal engine ships with the Blueprints Visual Scripting system, which can be used to make an entire game, or used in combination with the somewhat faster C++ scripting. Unity 3D does not have a visual scripting system built-in (yet), however there are excellent solutions that can be purchased on the Unity Asset Store, most notably Playmaker and uScript Professional.

Services

Unity Tech offers many amazing services such as Unity Ads, Everyplay (for recording & sharing mobile gameplay), Unity Multiplayer, Analytics, Cloud Build, Performance Reporting, Premium Support, and more.

Epic Games does not have so many services, but they have created a five million dollar development fund to “provide financial grants to innovative projects built in and around Unreal Engine 4”.

Assets

Both Unreal and Unity have great places where you can buy and sell game assets.

The Unity Asset Store has over fifteen thousand assets and 1.5 million users. Most of the assets are very affordable.

The Unreal Marketplace is much newer than Unity’s asset store, and therefore much smaller. The assets are also generally more expensive. However, they all seem to be very high quality.

If you are selling assets, note that both stores split the profit 70/30.

Conclusion

Both engines are fantastic game creation tools, and similar in so many ways. But perhaps their best quality is that they are free! So you can download them both, try them out, and let me know what you think in the comments below!

Beware! Unreal Engine is not good at 2D games! If you are making a 2D game, use Unity!

All images credit unity3d.com and unrealengine.com.

Advertisements

34 thoughts on “Unity 5 vs Unreal Engine 4

    1. Little correction here about one point :
      While Unreal is natively compatible with Windows PC, Mac OS X, iOS, Android, VR, Linux, SteamOS, HTML5, Xbox One, and PS4., there are MAJOR issues with Android, HTML5 and iOS.

      Unity offers the option of having 2 rendering process : Per-Object and Per-Pixel : while Unreal is limited only to Per-Pixel. This limitation from Unreal explain why it’s default setup requires a lot more from the hardware than Unity’s default setup (since Unity is set to Per-Object as default).

      Per-Pixel rendering is NOT natively compatible with the following things :
      • HTML5
      • Android
      • iOS
      • Sony’s PSP and Vita
      • Nintendo 2DS and 3DS

      What’s the difference between Per-Object and Per-Pixel? It’s really simple in principle.
      Per-Object allows the rendering process to store 3D models as well as materials within a temporary memory directly in the RAM bandwidth. It doesn’t store everything as it still needs to read the lightmaps and shadowmaps separately. This method can add a bit more to the Loading time of a scene, but once loaded, it 4x-5x faster to render than the Per-Pixel method. It also ask a bit more from real-time shadows and reflection.
      This is because the Per-Object rendering process is done in 3 passes : First, every object 3D data and details maps are loaded from the asset library, then the lightmaps and shadowmaps are loaded (which are specific to the scenes/map/area) and added to the first pass, then real-time rendering content is calculated and added with an alpha mask.

      Per-Pixel allows the rendering of every pixel individually (still in a straight sequence). While all the asset can be stored, they are stored within a temporary partition of the engine and NOT through the RAM bandwidth. This is because this rendering process will “scan” the screen’s pixel at each refresh rate and gets RGB values for each pixels displayed. Think of it as if there was a raycast being sent from the camera’s frame for every pixels shown in the screen. It’s not as perfect as the Raycast used for rendering Movies’ frame, but it does a really good job at emulating it. The quality of this rendering process is that it allow a per-pixel precision, but the bad side is that it requires 4x-6x more memory to process.

      This is why a game in Unity can run on 2GB of RAM and 1GB of VRAM while the same asset and same quality might requires 1GB of RAM, but 2GB of VRAM in Unreal. Remember that HTML5, Android, iOS, the PSP and Vita as well as Nintendo’s 3DS doesn’t actually have a dedicated VRAM GPU, but dedicated shared RAM that is shared for everything. That’s why Per-Pixel process is not natively compatible with those.

      What Unreal technology did with Unreal to allow game to be released on those platform is actually forcing the developer at not exceeding some really poor limitations (2x worse than Unity when its set to Per-Object rendering).

      This is why Unity dominate the mobile Engine market. When it comes to the high-end content and AAA games to be rendered on HD TV and PCs, Unreal is seen as better because its workflow better when it comes to the creation of assets. In terms of results, both have the ability to reach the exact same quality (even more so if Unity is set to Per-Pixel as is Unreal as it’s possible through its preferences).
      The main issues AAA developers have with Unity is that its materials’ texture and baking process requires some specific understanding that isn’t alike to anything else while Unreal follows an easier implementation of WYSIWYG. In Unity, if you understand what you’re doing, you’re mostly working blindly without baking anything until it’s finally the time which, then, takes hours to finish a finalized scene through many bakings and Q&A. Unreal is more forgiving and works faster in that regards.

      There’s also the fact that Unreal offers some tools that makes things “easier” for development (while those tools are far from optimized for the end-produce which greatly affect low/mid-end or mobile devices). Unity, on the other side, is quite blank when used for the first time and some of its tools are mostly avoided by all (Terrain tool anyone?) So to reach great result, it requires more understanding and more works with Unity than with Unreal. But, on the other side, when something is not working, chances are that you can fix it in 1 day or 2, whatever it is, in Unity while, for Unreal, it all depend on how much stuff was done by the developer or by its tools. (Unreal Tools can be dead-end traps. If you don’t understand what’s under its hood, you can’t fix any bug or errors that comes out of it.)

      Liked by 2 people

  1. Many people said that unreal is good for making games for pc, while unity si better for other platforms. As far as I’ve seen, while learning unity I’ve encountered few bugs here and there, bugs that i did not see in older versions, one thing that makes unity pretty hard for a beginner to learn, because you have to use the same version of unity which was used in that tutorial in order to get that thing done and after that, if you want to get to a newer version, you will have to adapt to those changes, which, again, is not that easy for a beginner.

    Scripting can be hard for some people, while working with blueprint scripting could help you a little bit more (if you are a beginner with no programming background).

    Like

  2. Paper2D seems like it’s a very good way to create 2d games in UE.
    But as you said I’ll try both for my platformer project 🙂 Time will tell which one is better suited.

    Liked by 2 people

  3. I avoid anything made with Unity like the plague, Steam seems over saturated with crapware made with this piece of garbage. It seems like actual programming skills have gone out the window with recent tripple a and indie studios.

    Like

    1. I have a lot of difficulty trying to get Unreal Engine 4.10.1 portable version to load on my PC. Any advice.

      I’ve tried UE 4 website with launcher but that seems just impossible to get the download of UE 4.9.1

      Like

      1. its pretty simple
        if u got the epic games launcher
        u can download it from within
        and it’s much simple than unity to update and download other
        softwares from epic games

        Like

    2. aren’t you a sweetheart? a retarded sweetheart of course, but a sweetheart nonetheless. I suggest you stay away from eating chocolate from now on, because you’re too sweet. and there are a few companies out there that make really crap cheap disappointing chocolate. definitely, do not, I repeat, do NOT, ever, eat, chocolate, again.

      Liked by 1 person

    3. There are tons of ugly games made with UE4 too. The problem is that Unity was free before UE4 and it’s full of assets and obviously every kid tried to make and sell his game on steam. Unity has a lot of problems but the editor, the light map build and everything are faster than UE4.
      For little teams it’s easy to use it and it has the basic tools to develop a good game.
      It’s not only the engine to make a good game you know?

      Liked by 2 people

    4. Well, if by “everything” you mean absolutely everything, then you’re missing out on many good games. I agree that 90% of what is done in Unity is crapware and that’s an actual fact. The same phenomenon happened when Photoshop was put online for free (pirate version available for everyone). Thousands of shitty designer who don’t even understand what CMYK means tried to pass themselves as worldwide known designers because they were able to change the color of their eyes and put a rectangle and a circle together.

      When something is free, there’s always people who try to make a buck out of it and run away. Always. That’s like games made with RPG Maker. Those actually saturate the Steam library a LOT more than Steam games. Try to searching for new RPG games without falling on 15 new visual novel RPG games made in RPG Maker released between each single other RPG games. You now got close to 2 visual novel RPG games made with RPG Maker for every 3D RPG of all time in the list. I think that Steam actually tries to reach the visual novel market because there’s NO way so many visual novel could pass through Greenlight without having some Valve employee allowing them to pass. (Each Valve employee has the right to instantly Greenlight any title once per month.)

      This is why, when I buy a game, I always check everything I can about the game and, above all, I almost never preorder. (Almost because I do preorder some specific series which I have liked since the PS1 or PS2 era. When such preorder comes with “good” freebees and not just a poster or a soundtrack or a digital strategy guide, I’m interested.)

      One thing that is not well known about games development (you have to see things from the other side of the wall), is that the budget (when there’s one) is not as stable as before because the newest technology allows better graphical results… but at the cost of more time invested into putting those additional details onto the models. It’s not because we’re now able to put 4x more details and polygons on the characters that we can create those characters as fast as before… No! They now take 2x-3x more time to makes and animate especially because they are a LOT more complex than before. If, before, when the 3d artist had to skin maybe 3000-6000 vertex to the animation bones, now he has around 30,000 to over 300,000 vertex to manage for a single character. Those aren’t “skinned” with magic, but with actual weight painting and per-vertex manipulation. Before, a model needed around 3 textures per material… Now, they requires around 5 to up to 12 textures per material. (Diffuse, Normal, ColorID, Roughness or Softness, Metallic, Specular, Opacity, Displacement, Ambiant Occlusion, etc.)

      While that’s a fact in game development, the programming language haven’t evolved that much, but the programmed game system have evolved A LOT as you don’t just move character around on X/Y axis anymore, but actually have to considers physics and behavior elements by the thousands. So, game devs companies (and groups for indies) have to put 2x-3x more time in making the things while the budget and time doesn’t expand much… so they often cut in the Q&A where testing and debugging comes in which explain why so many bugs and errors comes out during the first month after the release of a game (or so called Beta Releases).

      Like

    5. I don’t think you realize just how many good games are made in Unity. A pretty good list for now would be:

      Endless Space
      Guns of Icarus Online
      Robocraft
      Rust
      Shadowrun Returns
      Teslagrad
      Broforce
      Hearthstone: Heroes of Warcraft
      Oddworld: New ‘n’ Tasty!
      Tesla Effect: A Tex Murphy Adventure
      Wasteland 2
      Ziggurat
      Armello
      Besiege
      Dropsy
      Hand of Fate
      HuniePop
      Jotun
      Kerbal Space Program
      Ori and the Blind Forest
      Pillars of Eternity
      Shadowrun: Hong Kong
      Sunless Sea
      Tabletop Simulator

      Just to name a few.
      The problem isn’t the engine, the problem is the devs who don’t know how to make a quality product.

      Like

  4. I’ll just comment on the simple fact that these engines are not really free, if you consider the implications. you can’t, realistically speaking, publish a game with Unity free. and you have to pay 5% to Unreal if you make any sales above a meager $3000 per quarter. especially if you’re a serious developer and you invest in marketing and expect a lot of sales, that 5% can be an issue. same, paying a lot of Unity Pro licenses is also expensive. If you’re a tiny Indie dev on the other hand.. Unreal is free enough, since you don’t expect to make much money anyway. but Unreal is a difficult to tame beast, probably overkill for a small studio. while Unity is probably better for small devs, but a bit expensive. unless you don’t care about the dreadful splash screen that basically tells your audience to go away, in which case sure, go with the free version.

    Like

  5. for indie studios unity is a clear winner!

    unreal looks better BUT is harder to use.
    if u have a 20+ people team of professional developers, use unreal, otherwise use unity!

    PS: for people saying that crap is made with unity: wasteland2 , cities skylines, endless space and legend and so on

    Like

  6. @meee, I appreciate the sentiment behind your “PS” but @Chewbaka specifically mentioned that Steam is flooded with quickly thrown together Unity games and I can’t disagree. There is a certain influx of lower quality products whenever less accomplished people can enter any arena. When tools are made to make creating something easier, people that are less skilled can put stuff out. I don’t care if it’s toys, furniture or software.
    While these tools bring more people to the market, which is a great thing, simple math dictates that this will also introduce more junk into the mix. @imakecrappychocolatejustforyou is a prime example of a 12 year old mentality with no appreciation for good game making.

    Pointing out “Wasteland2” among all the Steam/Unity crap out there is like saying a beach is a gold mine because there is also loose change to be found amongst the sand.

    Like

  7. I was using Unity from version 4.x.
    In every revision, there are new libraries, things that you learnt are not useful anymore, and also with the marketplace. In Unity 5, every update they make, 5.x, become the script in obsolete. I have paid stuff for Unity 5 that they don’t work any more because they were released for 5.2 and I’m using 5.4, and so…
    Really, Unity is a beta engine. Very easy to use, but, only in little personal projects. Also there are a punch of tutorials, books, etc… but they will work perfectly only in the revision that they were written.

    I don’t know Unreal Engine. But if you get what you expect (don’t care about the effort) it worth your time.

    I came here to find a comment that makes me to decide if I should move to UE4. I’m skilled in C# scripting and I don’t know the Blueprints in UE4. Everything new to learn, like network, animation or scripting, makes me stand for Unity3D.

    All what I need is a good book with a related project to learn.

    For Unity, I don’t get it anymore, and, all what there is, is for beginners. They work pretty good don’t care the revision what you are using for. But if you pretend into an advanced user become, you will need better stuff and stable revision where can you use the same libraries without thinking if this book is right for the development that you want to make, or maybe it is too old because I’m using 5.4 and it was done on 5.3.

    In my case, I have bought several books for Unity 5, sometimes I fixed myself obsolete script, and other time, what they explain exists not anymore in Unity. So, the very first problem with Unity is, you are not available to be updated without loosing something about what you got learnt already.

    Like

  8. I am interested in either gameengine for AEC Building VR scenes. These models, typically from Revit or similar software, tends to grow pretty big. Does anyone know if Unity or UE handles large models (files) better than the other? Any of them better for infrastructural or Architectural use? Kind regards Patrik

    Like

  9. I’m a professional Unreal Engine 4 Developer.
    My age is 16.

    Unreal engine have alot of bugs in physics/lighting/shadows. I’ve fxied them by myself by editing the engine source.
    And there are a lot of futures not supported on mobile.
    Ue4 eats alot of RAM memory.

    Unity3d is the best.

    But I’m still using ue4 because I’ve fixed everything by editing the source.

    If you are a professional developer. Unreal is the best for you.

    Like

  10. Hi, Very Informative Article!
    I am on the hunt for a Gaming Engine that would suit me, for a few days now. I have read various articles on this topic and was almost certain to go ahead with Unreal, that’s when I read some more articles that spoke of Unreal Engine being good for Designers Only whereas Unity is fun to work with for Programmer as well as Designers. The Articles (like this one here —> http://bit.ly/2aCsltO ) has also mention how Unreal’s documentation is ‘Lacklustre’ whereas Unity’s is awesome. What’s your take on this issue? I am more comfortable with C++ than with C#, so Unreal was the go to choice for me but these stories have put me in a state of confusion. Kindly request your valuable Advice! I’m working on a 3D game but low on Budget as yet!
    Thanks.

    Like

  11. No reason to use Unity since Unreal Engine came free. Even for indie developers and off course for profesional teams. UE is just so much better in every way but maybe 2D sprite games. Regarding to 2D sprite games (I loved them 20! years ago),if you want 2D action just look at Trine game and do the same, you simply cannot animate an sprite as easy and good as you can animate a 3d object even if you just plan to get the top or side view.

    Like

What Are Your Thoughts?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s