• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
deltaKshatriya

Unreal Engine vs Unity Engine

94 posts in this topic

I wasn't super sure where to post this, since I'm not really looking for advice as much as discussion, but feel free to move this to the appropriate forum mods!

 

As some of you may know, I'm primarily a Unity user (although I use user in the loosest sense, since I don't really code much these days. I mostly work on game art for fun) and I really like the engine a lot mainly because it's the one I've used the most. I did have to use Unreal engine recently for a job I did, and while it's not wildly different from Unity, there were some obvious differences (such as C++ as the main scripting language, etc.). I've found them to be more or less comparable and similar.

 

As the title of the thread implies, the question is, which one do you like more? 

0

Share this post


Link to post
Share on other sites

I was tempted to close this as it is a "this vs that" thread, but it is in the lounge and we haven't had a good bash lately, so maybe this one will survive for a while.

To me the question is akin to:  Do you prefer Rocky Road ice cream, or Chocolate Brownie ice cream? There are some small differences between the two and you can debate minor ingredients differences, but on the grander scheme of things they're effectively the same, provide fundamentally similar services.

0

Share this post


Link to post
Share on other sites
I don't really like either one.


Canned engines try to do too much, and typically suffer from premature generalization all over the place. The usual result is that you have to endure some serious voodoo if you want performance to not suck, and/or you have to contort your game to do things in the "one true way" so that the engine doesn't vomit all over itself.

In order to do something highly unique and "custom", you have to either mutate the engine (which is a nightmare if you ever want to get updates from the vendor!) or you have to compromise your design in some way.

I'm not an advocate of everyone writing their own engines, but for the kinds of games I like to work on, neither Unity nor Unreal is ever going to really cut it.


For rapid prototypes or relatively unambitious (technically speaking) titles, both are basically fine, and some people will find one flavor slightly preferable to the other based on any number of personal factors. I don't think there's objectively much point in trying to make a comparison in vacuum, because each individual's goals, experience, and preferences will weigh too heavily in the final decision.
0

Share this post


Link to post
Share on other sites

Posted (edited)

These engines are far to be clean and not designed to be threaded correctly, these engines are good for prototyping.
My experience on shipped games : I got less issues working on Unity for mobile games than Unreal Engine.
You can write a game without writing an engine, simply working on needed features.

Edited by Alundra
0

Share this post


Link to post
Share on other sites

Another important factor to consider when looking at middleware solutions to a problem is [i]what problem are you trying to solve?[/i]

 

Of course a rather annoying bit that throws a wrench into debating between the two is that it is kind of hard to truly get a good feel for either of them until you have spent time digging around in the guts of them. And I don't mean "I spent a weekend and poked around some demo code", but rather spending time digging down and working with one or the other for months. And the problem with that is: The other one will have changed since then while you're exploring the other. 

 

There is still kind of an unfortunate bias against Unity because of its history of use in relatively low budget projects compared to the bigger names and larger budget games that Unreal has attracted. Larger studios have had the time and money to polish things to a greater degree in Unreal than much of what we get to see in Unity based projects. 

 

I've not be involved with a serious 'from scratch' project in either of them, and haven't done anything with Unreal in the last while, but rather have jumped on board mid/late development with both of them several times. Unreal seemed to start off a few steps ahead and a little more polished if you were looking toward something more "FPS" like in design nature, while Unity seemed to have a toolset laid out for a broader and more general setup but left a little more legwork to bring it toward any specific interaction style.

I'm curious to see other's opinions on whether that is remotely relevant with how either engine stands today, or if it is just a weird bias leftover from old internal development notes.

0

Share this post


Link to post
Share on other sites

I'm curious to see other's opinions on whether that is remotely relevant with how either engine stands today, or if it is just a weird bias leftover from old internal development notes.

That is mostly gone these days. While implementation details are different, both work the same on a feature-by-feature basis.  They both provide different defaults, and as you mention the defaults tend to favor a gritty FPS feel on Unreal and tend to favor a playful/cartoonish feel on Unity, but they can handle the same if you replace default shaders and replace default controllers.

Regarding the comments up top about threading models, both are designed fundamentally so they only expose single threaded gameplay. However, there are no restrictions on incorporating your own asynchronous libraries or doing multithreaded processing if you choose. I've seen several games that add it quite effectively, using all the cores continuously to good effect.  Neither engine does it for you out of the box because typically entering the realm of concurrent processing expands your bugs and code complexity by orders of magnitude. Multiprocessing introduces the potential for bugs that change by observation, values that change mid-read or mid-write, deadlocks and livelocks and other frustrating or nightmare-inducing scenarios.  Nothing prevents developers from using concurrent processing and the tools and libraries are available to those who want them, but I think both engines took the right approach to keep the general users in the relatively safe land of a single visible thread.

0

Share this post


Link to post
Share on other sites

I just asked this question to myself in the last days. I've been looking for a job in almsot every company in the world, and 80% of them are requiring C++ experience, which means UE in most of the cases.

I've been using Unity almost every day for the past two years and I must say that now that I know it, I wish I started the Unreal Engine before. Don't take me wrong, I love Unity and it has a lot of great qualities, but I feel like that it's still too heavy for AAA projects, and has some behaviors that just let you ask "Why". Unity is great if you are new to gamedev, if you are a non experienced programmer, if you are a one-man show, or if you are developing for mobile.

The unreal engine has a learning curve the resembles the cliffs of Moher, but once you get into it, you can do magic (and find a way better job, if you are looking to work in the industry).

0

Share this post


Link to post
Share on other sites

For me as an professional 3D artist I can't understand how people can even make a full game with Unity.

On the surface Unity looks like a full engine, however once you get to the real implementation stage you find that the tools you have are half made and a lot of the basics is just missing. ironically this is what makes it a good engine for mobile games, it has a lot less extra's that won't be used.

The worst for me is Unity's Prefabs and how they don't even work with batching, even if Unity is a batch engine. Why even pretend that the editor is any thing more than a placement tool, when all the tools are broken and the prefabs work against the batch manager?

I understand why so many programmers like Unity, because it's still a old code based engine disguised as and toolset engine. Sorry for the rant Unity is just getting on my nerves, indie devs please stop using it, it's broken and your artist hates it. <_<

Unreal is the better engine, no doubt listing the differences would take ages, they key point about Unreal is that it's made so that all of the people on a team can use it. The blueprints allow everyone to fix small problems and if needed a programmer can write code to add blueprints for special needs.

True because of Unreal's fully functional, feature filled, easy to use tools; it's a bit on the bulky side. However it is possible to dump what you don't use before packing the game.

The down side to Unreal is that it didn't keep any of the old shaders and tools, this combined with it's behemoth size makes it impractical for mobile games.

Also the 2D engine in Unreal isn't great, there are many free 2D engines that exceed it and even Unity's half build 2D tools is better. For 3D games Unreal is the best engine. ^_^

About self made engines, first I admire your skill and dedication, these engines are often slick and elegant. Unfortunately they are hard to use, if the developer isn't around to show you all the quirks things get messy fast.

Second, it would be near impossible for a single developer or indie group to make a engine like Unreal, even a streamline one.

I would never discourage anyone from making there own engine, I find that developers who made a engine in some point in there life, are just better to work with. So you have my admiration, however I have made a small engine in the past and I will never be doing that again. :lol:

0

Share this post


Link to post
Share on other sites

Another important factor to consider when looking at middleware solutions to a problem is what problem are you trying to solve?

 

Of course a rather annoying bit that throws a wrench into debating between the two is that it is kind of hard to truly get a good feel for either of them until you have spent time digging around in the guts of them. And I don't mean "I spent a weekend and poked around some demo code", but rather spending time digging down and working with one or the other for months. And the problem with that is: The other one will have changed since then while you're exploring the other. 

 

There is still kind of an unfortunate bias against Unity because of its history of use in relatively low budget projects compared to the bigger names and larger budget games that Unreal has attracted. Larger studios have had the time and money to polish things to a greater degree in Unreal than much of what we get to see in Unity based projects. 

 

I've not be involved with a serious 'from scratch' project in either of them, and haven't done anything with Unreal in the last while, but rather have jumped on board mid/late development with both of them several times. Unreal seemed to start off a few steps ahead and a little more polished if you were looking toward something more "FPS" like in design nature, while Unity seemed to have a toolset laid out for a broader and more general setup but left a little more legwork to bring it toward any specific interaction style.

I'm curious to see other's opinions on whether that is remotely relevant with how either engine stands today, or if it is just a weird bias leftover from old internal development notes.

 

It's kind of unfortunate that Unity got such a bad rep, cause it's not super different from Unreal imo. Why is it though that larger studios have stayed away from Unity as opposed to Unreal? I'm genuinely a bit curious about this (seeing as we are debating the two engines).

 

 

I don't really like either one.


Canned engines try to do too much, and typically suffer from premature generalization all over the place. The usual result is that you have to endure some serious voodoo if you want performance to not suck, and/or you have to contort your game to do things in the "one true way" so that the engine doesn't vomit all over itself.

In order to do something highly unique and "custom", you have to either mutate the engine (which is a nightmare if you ever want to get updates from the vendor!) or you have to compromise your design in some way.

I'm not an advocate of everyone writing their own engines, but for the kinds of games I like to work on, neither Unity nor Unreal is ever going to really cut it.


For rapid prototypes or relatively unambitious (technically speaking) titles, both are basically fine, and some people will find one flavor slightly preferable to the other based on any number of personal factors. I don't think there's objectively much point in trying to make a comparison in vacuum, because each individual's goals, experience, and preferences will weigh too heavily in the final decision.

 

Yea I don't know nearly enough about graphics to write my own rendering/game engine. Most of what I've actually studied/know is machine learning and systems programming/networking from my computer science career/studies so far. I'm more into the art side of game dev rather than the actual gaming side, so most of my game work is to showcase the art, hence why I really like engines like Unreal and Unity (though I am admittedly biased towards Unity since I learned it first and used it more).

0

Share this post


Link to post
Share on other sites

Posted (edited)

Why is it though that larger studios have stayed away from Unity as opposed to Unreal? I'm genuinely a bit curious about this (seeing as we are debating the two engines).

Simple it can only reach 60% of Unreal's power out of the box. Also even if the differences between batching and instancing is considered small, once implemented instancing just outperforms batching in the long term. Especially because instancing works with a modular approach.

 
Unity get's a bad rep because the great games made with it replaced almost half the engine before they started adding there own stuff on it. With Unreal you have great tools, a working engine, huge amount of power and flexibility; all out of the box, then just addon what you need.
Edited by Scouting Ninja
0

Share this post


Link to post
Share on other sites

I've worked with both commercially. Shipped an early access prototype with Unity, currently working in Unreal.

The first thing I would say is that I'm amazed that some people would still rather do it all themselves. Of course, you can do everything that these engines do, and in some cases better. But there is just so much work in these engines that to replicate it would take so long. I've worked commerically on in-house "code what we need" engines, and literally once a week a different artist or designer would come and ask, "how do we do <X>, like in UE4 or Unity" and the answer is, "we don't have that yet. It'll take a couple of months to code it", so it never gets done and everyone suffers.

I'm perfectly happy with Unity for the most part. I use it for my personal projects and I recommend it to newbies when all other factors are equal or irrelevant. But I'm concerned that the success of their Asset Store basically discourages them from improving the core product, which we've seen from them ignoring UI for years and then shipping the new UI in a suboptimal state, for example. Some say the same applies to Mechanim, though I've never used it. And I'm also concerned that they want to get in a toe-to-toe fight with Epic over rendering features while leaving everything else sub-standard or broken. But maybe they feel they have the hobbyists and indie market already sewn up, so it's only AAA left to compete for.

Comparing UE4 to Unity is interesting. UE4 is much more fully featured - the animation system, the controllers, Blueprints, data tables, behaviour trees and tasks, integration with source control... and that's before you even consider the higher performance and scope for graphical quality.

But a lot of things in UE4 are underdocumented or simply undocumented, the community is not very helpful, and there are still plenty of bugs. If you're an AAA studio with a support contract, those bugs will (probably) get fixed for you before you ship. If you're anyone else, get set for hours or days of digging through engine code to try and understand it, only to have to fix a bug in Epic's code. And the code is complex. You get all the downsides of a large inheritance hierarchy with all the downsides of a component-based system, with all the fun of sprinkling magic macros and auto-generated code throughout the code base too. You need to be in it for the long haul, and you need experienced C++ coders to do well. With Unity it's more straightforward; generally speaking, if it's implemented, it's documented, and someone will help you out on the forums if you ask. So a large part of the decision is about whether you're happier digging into other people's code or not.

0

Share this post


Link to post
Share on other sites

It's kind of unfortunate that Unity got such a bad rep, cause it's not super different from Unreal imo. Why is it though that larger studios have stayed away from Unity as opposed to Unreal? I'm genuinely a bit curious about this (seeing as we are debating the two engines).


Plenty of large studios use Unity however you probably don't realise it it - the problem stems from the licensing terms; if you use a free version you have to throw up a splash screen, if you pay you don't.

So, Joe Hobby who produces the poor/basic looking game has Unity splashed all over it.
Meanwhile AAA Developer who has shelled out money doesn't mention it.

Net result; people only see the bad looking games and think that is all Unity can do.

I'd say at this point both UE and Unity could produce the same output, gfx quality wise, the difference is that out-of-the-box UE's post system makes it easier to produce basic shiny; however with an artist onboard both are just as capable.
0

Share this post


Link to post
Share on other sites

If being used professionally, Unity is way cheaper than Unreal.
If being used as a hobbyist, Unreal is way cheaper than Unity.

I would almost say that Unity is a framework for building a game engine and editor on top of, whereas Unreal is trying to be more "complete" out of the box (which is good if your idea of a complete engine matches theirs...).

0

Share this post


Link to post
Share on other sites
Plenty of large studios use Unity however you probably don't realise it it - the problem stems from the licensing terms; if you use a free version you have to throw up a splash screen, if you pay you don't.

So, Joe Hobby who produces the poor/basic looking game has Unity splashed all over it.
Meanwhile AAA Developer who has shelled out money doesn't mention it.
 

 

Just two words: "Pokemon GO"

0

Share this post


Link to post
Share on other sites

Not really adding anything new, but I'll jump on the "they're both good, but use the appropriate tool for the job" idea.

I've used both, and prefer UE4 over Unity, but I'm pretty sure that's just because I prefer that workflow (and appreciate the full source access).  To me, Unity is sort of this black box, and I don't always trust that it's doing what I want, but with Unreal, I can just dig in and figure out exactly what it's doing.  On the other hand, I feel like Unity provides a very "fast" way to work, and is a little more non-programmer friendly for some tasks.

For a huge fancy high-performance, crazy graphics, FPS, all-the-buzzwords kind of a game, I'd go for Unreal right away cause I can't think of a reason not to.  For a smaller, more casual game, where performance is not as important, but things need to be done quickly, I'd go for Unity.  For in-my-free-time projects where I'm the only one working on the game, I tend to roll my own "engines" for the sake of learning how all the pieces work, challenging myself, etc., since time is not a concern.

0

Share this post


Link to post
Share on other sites

To my knowledge, both Unity and Unreal seem to be more than capable of producing the same graphical fidelity, no? I've seen some posters here saying otherwise, so I'm sort of curious. 

0

Share this post


Link to post
Share on other sites

In theory you get total control over each pixel one way or another, so yes. In practice, lots of other factors contribute to whether that's feasible or not given whatever performance, competence, or budget constraints you have. In particular you can't dig deep into how Unity implements its rendering so certain approaches are just not available to you.

0

Share this post


Link to post
Share on other sites

I'm nothing close to an advanced game developer by any means, but at the start of developing my puzzle game and a few other stuff that share up to ~65% same functionalities, I decided to code them from scratch. It's been a terribly tough hard work so far, but I'm loving every bit of challenge that I'm confronted with. Its been seriously frustrating a lot of times, (with my noob laid bare), not a comfortable zone to be at all, yet I love it and believe I will get out to be much stronger at the end

I think by the time I finish these projects and get to start using engines I could be much better off a hundred fold than if I never coded from scratch

0

Share this post


Link to post
Share on other sites

Posted (edited)

To my knowledge, both Unity and Unreal seem to be more than capable of producing the same graphical fidelity, no? I've seen some posters here saying otherwise, so I'm sort of curious. 

 

You could make AAA games with both, however in scale Unreal will win over Unity (Lumberyard should be 10%-20% better than Unreal, although I have no way to confirm it.)

[spoiler]

First you need to know that there is a limit of how many objects can be drawn in a scene, regardless of the vertices and polygons in them. For mid-range PCs this should be 250-300, so even if the mesh is one triangle you can only render that many of them.

Batching joins these objects into a new mesh, batching engines are vertices focused Unity has a 65 000 vertices limit per batch. So you can render 300 * 65 000 = 195 000 00 vertices

Unreal is a instance engine, instancing draws the object in more than one point. Hierarchical instancing can be seen as a combo of both batching and instancing. Unreal has a polygon limit of 64 000, so in theory it should only render 192 000 00 polygons. However using the hierarchical instancing I have rendered over 4 000 000 polygons on a mid-range PC. Here is a tutorial for people who wan't to test: https://www.youtube.com/watch?v=oMIbV2rQO4k

The 54% value, that is unity only performed at 54% of Unreal's power, I have is a average from my day job, the developers I work for tested each part of Unreal against Unity to see what engine was better for them. In this post https://www.gamedev.net/topic/686886-unity-terrain-details/ I was having problems with the grass, I reached 60% of the amount of grass I had in Unreal.

I consider my 60% more realistic for the average developer, because at work professional programmers and art, made for them was used. My personal results in this test is closer to what a normal person could do.

[/spoiler]

 

What is killing Unity is it's skin deep approach. New developers aren't aiming for a match 3 game or a simple platformer, they want open worlds and cinematic graphics. Unity pretends that it has everything you need to make these games, so people start making them and when they reach the point where the real work is done, Unity just doesn't have the tools, these developers also don't know what is missing as they have never worked on games like this. 

So the developers think this is it, there isn't any more; they publish half made games that at first glance even look like full games. The half games swarm the store fronts, dragging down Unity's reputation.

The half build tools, irritate content creators; we already have to offer our services at a discount so that Indie developers can use us, asking them to buy tools or hire more programmers isn't a option.

In the AAA market content is king and Unity just not keeping up with Unreal. The license isn't a factor for AAA developers, because they can just arrange a lump sum agreement with Unreal. Don't know if it's related, we are using a older Unreal 4.10, could also be that they just don't want to update the custom changes with each release.

Unreal is also advancing at a fast rate (or maybe it just feels that way because I still get to work with a older one). It even now has a way to merge meshes in the engine, when Unity a batch engine that benefits from it more, still only gives a link to a script for it.

Edited by Scouting Ninja
0

Share this post


Link to post
Share on other sites

Would anyone say that Unity is easier to use than Unreal, or the opposite? I mean it seems that Unreal does have more power at least out of the box (unless someone else wants to say otherwise).

0

Share this post


Link to post
Share on other sites
They both have realms where they are easier than the other. Some things fit better than others.

But no matter which you choose you're going to have a lot of work before the game is finished. The bigger the game, the more effort you need. For the type of games typically discussed on the forums, both engines are able to handle anything that can be thrown at them.

For the AAA games mentioned above, where companies are spending tens of millions of dollars to develop, then they're going to be spending quite a lot of money to customize the engine to whatever their needs are. That is assuming either engine is close enough to their needs and usable for their games, anyway.
0

Share this post


Link to post
Share on other sites

I would say that Unity is simpler/easier in general, but Unreal is going to be way easier in the case where you're trying to do something complex that it supports as an out-of-the-box feature :)

0

Share this post


Link to post
Share on other sites

Unity is the better choice for small games like most mobile games, 2D games although for a Rayman clone Unreal would be better, simple 3D RPGs on the same level as what RPGs maker could do although with 3D graphics.

Any game where you need more than one artist, it would be better to use Unreal.

0

Share this post


Link to post
Share on other sites

As a person who doesn't like 3rd party engines and at the same time a person who has worked with one (Unity) for two years professionally, I think I can make some contribution to this thread.

As I mentioned, I don't like 3rd party engines. I like to write my own code. After I had worked on some private projects, including writing my own engine (and eventually releasing a Steam game on it) in C++, and other from the ground-up stuff, I joined a company where they used Unity. It was the first time I think when I was using "somebody else's engine" and I really liked it. Unity is well structured, has a couple of simple building blocks (game objects and components) and you can build your way up towards a game any way you want. They did a great job in separating the engine (what Unity is) and the gameplay (which you write yourself). And because of that various people around the world build their tools and share them with the world (AssetStore) thus proving Unity's modularity. It took me like a week of work with Unity to really find myself a way around it. I felt like home. Of course, Unity has its weak spots, sometimes ones you would not except to find in a piece of software like this, but still when I'm in a need to use a 3rd party engine, I go for Unity.

As for Unreal... I had a really hard time figuring out how to work with Unreal 3. So much that I gave up. Then I tried Unreal 4. I nearly ended ditching it also altogether like I had ditched Unreal 3 because it turned out that one simple task I wanted to accomplish was almost impossible to do. I wanted to have an animated skeletal mesh and set one of the bones to my own local-to-world matrix. I tried to do it in C++. I googled for it. Turned out there are many people asking about it and nobody gives clear simple answer to that. Because there is none! Turned out that I could "relatively easy" to what I wanted but only via a BluePrint. From that on my adventure through Unreal 4 was a bit easier but still I stumbled upon a lot of hurdles. With Unreal it seemed like I constantly had to google how to do this or that. There is a lot of complex building blocks in there that you can use but getting to know them takes time. Also, Unreal 4 tries to pretend it has a similar to Unity gameobject/component model. That is only partially true. For instance, in Unity you can have a hierarchy of game objects and each game object has its own set of components. That's it. In Unreal on the other hand components can have hierarchies what was very misleading for me. Another thing was when I created a simple template project. I have the list of objects in the scene, I more or less see/know what they are. Then I run the project and suddenly I have twice more game objects in the scene out of thin air. Objects like "GameMode" or other intrinsically related to Unreal's beloved Gameplay Framework. Yeah, the Gameplay Framework itself is something I didn't like. The doc says that Gameplay Framework is just a set of useful classes built on top of the engine that can help you making your game (you know, the old PlayerController or Pawn from Unreal 3). Well, if Gameplay Framework was really such a nice framework built on top of the engine and not part of it I don't think there would be references to its classes all over the engine's options menus. There are even some C++ structs related to PlayerController in UnrealEngine.h file.

To sum up: Unity is well-structured to me and the fact the source code is not published does not bother me much as the engine itself is elegantly separted from gameplay which you write yourself. A couple of building blocks you can arrange the way you want. Unreal on the other hand seems very cluttered with a lot of various objects/classes, interrelated to one another. I can imagine you can do more optimized stuff in Unreal 4 than in Unity but you will end up with code maintenance nightmare.

0

Share this post


Link to post
Share on other sites

I started using Unity several years ago. I chose it because it supported C# and I was familiar with XNA. I wanted to use Unity the same way XNA worked, so I started writing a code base which was able to convert between Unity and C#, starting with the Vector3 class. I got carried away. I started writing more and more code in C# and XNA, and eventually ended up creating my own engine from scratch in pure C# & XNA. This was a mistake, and a trap, and I knew it, but continued anyways because it was fun.

Then it was time to get serious. I was trying to create both a game and a game engine at the same time. The requirements of my game drove the development of my game engine, so if a game requirement wasn't implemented in the game engine, I had to go in and add it myself. Finally, one day, I wanted to render 3D text in the game. I could implement it, but it would take me 2 weeks to implement it. It wasn't a question of whether I was smart enough to eventually figure it out, it was a question of whether I wanted to put game development on pause in order to add yet another missing game engine feature. 2 weeks cost. How many more missing features will I need to add in? How many more weeks will that add to my schedule? How well tested is my home brew engine? Can I confidently release this and say that it'll work on all hardware platforms? I'm a capable engineer and I proven to myself that I can create an engine, but I'm also just one engineer. Engine companies have hundreds of engineers just like me (if not smarter!), working to build perfect game engines. Do I want to make a game, or make an engine? I decided to revisit using a game engine.

So, what game engine should I use? I didn't really like Unity because the UI was too confusing and busy to me. What else is out there? I discovered the CryEngine. It looked amazing. The price was very affordable. Okay, what does the API documentation look like? How do I get support if I get stuck on something? The answers: Non-existent and you're on your own. Nope. Not doing that. The learning curve is too steep and it would be trial by error.

Then there was Unreal Engine 4. It had just come out as 4.1 or something. I liked that the engine was able to support the workflows of multiple disciplines, and it was well designed to be elegant, yet powerful. Best of all, the complete engine source code was available. If something is confusing, missing, buggy, or incomplete, I can go in there myself and look at it or modify it as needed. The blueprint system was also an excellent way to bring non-coders into the project to implement game design mechanics. The engine was also quite affordable: $20 a month + 5% net. The documentation was somewhat okay, but it still needs some work (especially on the API side). To be fair however, the existing documentation is "good enough" in the general sense, and if there's something deep I need to know, I don't expect the documentation to cover it, and I'd have to find my answers in the source code itself. The other nice thing about UE4 is that it is constantly being updated with major releases. The tech world moves really fast. You want your engines to stay current. Your studio or project may lock onto a particular version, but usually the benefits of upgrading usually outweigh the costs.

I can't really be objective: I am a UE4 fan. Unity is a great engine, and I'm sure I'd do great in Unity if I spent the time to learn it inside out. Both engines are very capable of delivering AAA content. Both have compelling reasons to give them a good look. Both have strengths and weaknesses to consider, but neither are disqualifying. At the end of the day, you are going to have to list out what you want to get out of a game engine and then match requirements against offered feature sets. Whether you ultimately choose Unity or Unreal, it probably won't matter or affect your game nearly as much as your creative talents do.

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0