Unity vs Unreal Engine 5: Which Is Better ?

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

This post appears to be a direct link to a video.

As a reminder, please note that posting footage of a game in a standalone thread to request feedback or show off your work is against the rules of /r/gamedev. That content would be more appropriate as a comment in the next Screenshot Saturday (or a more fitting weekly thread), where you'll have the opportunity to share 2-way feedback with others.

/r/gamedev puts an emphasis on knowledge sharing. If you want to make a standalone post about your game, make sure it's informative and geared specifically towards other developers.

Please check out the following resources for more information:

Weekly Threads 101: Making Good Use of /r/gamedev

Posting about your projects on /r/gamedev (Guide)

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

👍︎︎ 1 👤︎︎ u/AutoModerator 📅︎︎ Nov 27 2021 🗫︎ replies
Captions
if you ever want to start developing games you will first have to choose a game engine an engine is going to let you create what you want without having to worry about all of the boring stuff like loading and rendering but some game engines are better for some things and some are better for other things which is why people often look for the best one before starting the question is a little bit misleading there isn't a best one overall but there is a best one for what you want to do and this is what i'm going to talk about today i'm going to compare the big 2 which is unity and unreal first of all let's talk quickly about 2d if you want to make a 2d game you will want to choose unity for sure unreal simply doesn't have many 2d features because it wasn't made for it unity has a ton of 2d features like animations collisions you can even put bones on sprites and use that to make custom animations in the engine it also has 2d lights which is very rare for an engine and also tilemap features and many more the main comparison point is in 3d so let's check this out if you're going to start making games you're probably going to spend many many hours developing your game so first you need to make sure that you will enjoy the workflow of the engine you choose so let's talk a little bit about the workflow and how it works first off unity the basic idea for it is that you have game objects space in your world that contain components you can think of a game object as a folder and components as files for example i can create an object with a mesh component that loads and displays a sphere i can add to that object a rigid body component that will allow it to move i could also add a collider for it to collide and you get the idea i can also create my own scripts in c-sharp and add them to my object as a component scripts are usually made to keep values or give a behavior to an object such as to make the enemy attack or keep the health value of the characters the same script can be applied to many objects and the script can access and modify other components on the object you can also create scripts that are childs of other scripts so you can make for example a zombie script that is a child of the enemy script so that when you put the zombie script on your zombie object it will have the functionalities of both the zombie and the enemy by doing this you can easily share methods or variables between very different objects by simply making all of their scripts the child of one main scripts that contain all of the shared variables and methods you can also create a prefab of an object and i will simply save its state in a file so you can drag it or spawn it from the script and it will have the same components and values as the prefab this way you don't have to keep building your objects and then adding the components every time you want to spawn one now let's take a look at unreal engine the idea is very similar you have actors which are like game objects and they also have components you can also create your own component but often that is not how you will add behaviors to your actors instead each actor created is automatically a file in your project like the prefabs in unity and each actor has space for code and blueprint attached to it you can think of it as each actor adding one script by default however if you want two different actors to do the same thing such as two enemies you can't make them share their script the only way you can make something like this is if you make one main enemy actor and then make child actors of that one so it is possible but is not quite as easy as unity for the flexibility of the scripts i prefer unity when it comes to the workflow it might be hard to tell just from listening to me but i guess you could try them both and see which one you prefer when it comes to built-in functionalities unreal engine is unmatched unity has a few features like to build a landscape in the engine to make some animations rack those in a basic particle system obviously by making scripts you can create your own features and do whatever you want however unreal engine has a lot more built-in features so you don't have to remake all of them first off the material and shader editor is a lot better than unity in my opinion you can easily add nodes to create the effects that you want also unreal engine has the option to simulate any skeletal mesh easily unlike unity which seems to only allow humanoid rag dolls and it is a lot more complex unreal also has built-in cloth simulation with collisions with the environment without using any code it also has behavior trees for ais physics constraints physical animations built-in splines and spline meshes to make things like roads it also has built-in cinematics with advanced features such as creating events a much better particle system with niagara and using the new chaos system you can easily add realistic cars in physics and also have mesh destructions some people also don't like coding and prefer to use visual scripting both engines offer a way to do visual scripting unity bolt can be added to the engine pretty easily and can be used to give behaviors to the objects however unreal blueprints is far superior that's because it is built directly into the engine and the engine is made to use it you can use blueprint to create new classes set default values and add behaviors you can also use your c classes in your blueprints if you want to mix both also nearly every feature is available to blueprint so it's not like you're missing out by not using code the final comparison is the performance and this actually surprised me first i tried to test cpu performance by creating some cubes and making them change velocity every frame and having collisions enabled to test the collisions as well this tests the frame update calls on top of the physic movements and the collision surprisingly unity was able to handle 500 cubes with about 10 fps when it comes to unreal after about 1 000 cubes spawn the game was already having a very hard time when running the game in standalone it's a little bit better but it still looks like unity one maybe by using c plus plus or different settings in the blueprint i could improve the performance but anyway most of the time you won't have a thousand cubes moving around and colliding also most of the time when you lag in a game it's not because of the cpu but because of the gpu so let's check this out now i imported it to both engine the same high poly mesh using 4k textures and normal matte and a very small uv meaning that the texture and normal map will loop a lot on the body with unity after 242 instances i was down to 30 fps this might have been improved a little bit if i use the urp or hdrp which are the render pipelines of unity however unreal engine just smashed this so hard that i doubt unity could ever compare i enabled the new nanite feature from unreal engine 5 which simplifies the triangles in the mesh in points that you can't see because of distance or line of sight with this i easily spawned a ton of meshes sometimes it got a little bit laggy but i simply had to rebuild the lighting and it fixed it instantly i spawned over a thousand and it was still fps cap at 120 fps it seems like when it comes to rendering high detail environments unreal is king by far in conclusion if you want to develop a small game fast and easy and have fun choose unity the script system the editor and the witness script loads and compiles really fast and when you code you always have the auto complete and errors show correctly is awesome unity also allows you to easily and quickly build your game to pretty much any device unreal can also build to any device but it takes a lot more effort you have to add manually the sdks and things like that and there's also a lot more chance of things breaking when packaging a game there are some things in unreal that works when you're in the editor but not when you build the game so that's really annoying and also packaging a game can take many many hours unreal engine on the other end is generally slower to develop and harder to get into because it has many features if you want to use c plus instead of blueprint it is even harder because in visual studio often the autocomplete and error detection breaks for a bit meaning you have to wait for it or you have to type without knowing if you are doing it right also sometimes i get errors and it says that the error is somewhere but it's actually somewhere else and also c plus plus that unreal engine uses is generally harder to code in than c sharp that unity uses so if you're not too into coding maybe choose unity unless you want to use the blueprints of course also the compile time in unreal can be pretty high but my ssd compiling a few classes can take 30 seconds and on my whole drive it took minutes unlike unity that is pretty much instant but unreal engine has so many built-in features that are so awesome that it's very hard to pass on if you want to make a high details game you cannot miss out on unreal the performance increase on the render is insane you could say that unity is a more casual and unreal is more professional in a way if you want to get started in game dev and you have no experience i would suggest starting with unity because it's much more easy and simple but feel free to start with unreal if you want to give it a try if you start with blueprints only it can actually be pretty simple but keep in mind that blueprints when you start to get bigger projects can start to get pretty laggy and that's actually a problem that i'm facing right now so i'm learning c plus because my blueprints project are starting to lag pretty bad i hope this video helps you find the differences between unity and unreal engine whichever you choose i wish you a lot of success if you want to see more game dev videos feel free to subscribe to my channel i upload devlogs and other things like that
Info
Channel: MaxMakesGames
Views: 3,266
Rating: undefined out of 5
Keywords: gamdev, game dev, game making, game, programming, code, games, coding, 3D, development, dev, indie, solo
Id: Vi5G-aCwrow
Channel Id: undefined
Length: 10min 42sec (642 seconds)
Published: Sun Nov 14 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.