Advertisement

Unity 5 or Unreal engine 4

Started by March 08, 2015 05:11 AM
33 comments, last by Anton Qvarfordt 9 years, 6 months ago

btw which engines are you guys using?

Unity.

I'm more of a code sort of guy, and Unity's editor gets in the way a lot less than Unreal's does. Plus, the engine is less FPS-oriented out of the box, and C# is a very nice language to work with.

I agree with you here, I'm just beginning to learn to code and Unity has taken me much further with the C# language than C++ and Unreal did. That's kind of where I would say that Unity might be better for a solo developer unless you are really good with C++ since that is a much less forgiving language in the long run. Also publishing between different platforms is a breeze which is nice.

But then again I am an Environment artist and much prefer importing my assets into Unreal and working with them in there using the blueprints rather than writing and applying C# scripts so ...

Anyway that's just my two cents on this topic.

Unreal 4.7(the one you can download now) is suffering from a weird bug called UE-11368 ---- https://forums.unrealengine.com/showthread.php?62143-texture-problem

so its becoming harder to decide but i think unity 3d will let me show more of my creativity, its confusing now...... in usage both of them feel the same because i am new to both of them.

Any ides?

Sherry Saini

 Biker? Artist? Gamer,?Fitness Freak? living in the moment.⌛ Before i bojack things up. ? 28 June ?Twitter - www.twitter.com/IAmSherrySaini www.SherryGames.com

Advertisement

I haven't noticed any problems with 4.6 (I'm still using this version, and will be until Audiokinetic releases an update to the Wwise integration), so you could roll back to that version until the issue is fixed; using an older version probably won't make much difference for you while you're learning how to use the engine. If it really bugs you, then just use Unity.

You'll be able to show your creativity in either engine smile.png

I think that you are right because the content matters more than the engine so It should not make any difference between unreal and unity.
Sherry Saini

 Biker? Artist? Gamer,?Fitness Freak? living in the moment.⌛ Before i bojack things up. ? 28 June ?Twitter - www.twitter.com/IAmSherrySaini www.SherryGames.com

- Static models from Blender: The import process is similarly simple in both of them.

- Skinned models from Blender: Unity has the simplest process: just import the fbx file, set the avatar to humanoid (configure if necessary), than you can use this model with any humanoid imported animations you have (this is done by sharing the humanoid skeleton that Unity uses internally). For no-humanoid models you can use the generic avatar (this does not give the same sharing capabilities, but the process is still a few clicks simple). In Unreal Engine 4, the process is a little problematic. I have found from a video tutorial from Epic, that they are using a specific skeleton structure for their humanoid models. I think this was the reason why, thought the re-targeting worked, it gave me some twisted bones. It may be just a bug that will be fixed later on. Also UE 4 does not share the animations after the re-targeting process, but it creates new ones for the new character.

- LOD system: Unity has a LODGroup component that you can attach to any game object. That component gives you the options to add as many LOD levels you what, to select which child objects are used for a specific LOD level and the transition factor for each LOD level. In Unreal Engine 4 the LODs are embedded in the mesh/model itself. Unity's LOD system is hierarchical (you can specify multiple objects/meshes per LOD), in UE4 is not, but they have it on their roadmap.

- Terrain system: In Unity you can add more terrains in the same scene, but they are handled separatly. In UE 4 you can create a huge landscape made out of multiple terrains (considered as regions of the same landscape) and handled accordingly (watch the video of The Dead Linger switch to UE 4 and their use of this landscape system to create a huge terrain for their game).

- Foliage: In Unity you can paint foliage (trees, bushes, grass) only on terrain. To paint on other surfaces/models you can get/buy an extension from the Unity Store (but I do not trust their performance compared to the main foliage system). On the other side UE 4 comes with a foliage system that you can paint plants, trees, rocks or grass on any static element of the scene, while giving you the possibility to change the position, rotation and scale of any painted objects.

- Code writing: Unity uses C#, which is a very powerful, high level language. Pro: fast prototyping of a memory safe code. Con: Unity still uses an old mono library that has an old GC that gives bad CPU spikes while running (sgen GC was proven to have a smoother and more constant behavior with less and more negligible CPU spikes http://www.schrankmonster.de/2010/09/01/taking-the-new-and-shiny-mono-simple-generational-garbage-collector-mono-sgen-for-a-walk/). UE 4 uses C++. Pro: performance. Con: syntax is more verbose, "complemented" by the UE 4's class naming convention. C# is the best choice if you start learning game programming, as C++ will give you a lot of headaches the first few years (3-4 biggrin.png ). But UE 4 also gives you visual scripting through blueprints. For such a feature in Unity you'll have to get/buy one from the store.

- Animation system: they both have something similar, but I know for a fact that though Unity's one gives you the possibility for a lot of things to do with it, UE 4's one is a lot more flexible.

- AI: they both have navigation meshes and path finding included, but UE 4 has a behavior tree editor integrated by default. Again, for Unity you will have to get/buy one from the asset store.

- Visual material/shader editor: UE 4 has one by default. For Unity you have to buy Shader Forge, is the best one for it.

- Asset store: Unity has a huge asset store. You will find a lot of very good assets (models, textures, sounds), a very few good extensions (these include code, like time of day systems, weather systems, character systems) and a lot of unprofessionally written extensions (they may work as intended, but reading the code is a nightmare, not to mention debugging it, or integrating it with other extensions)

- Rendering: they both use PBR shaders/materials and have the same main post processing effect (bloom, motion blur, SSAO, color grading, anti-aliasing, DOF, lens flares, eye adaptation, vignette) though they work and are integrated differently. With Unity you have to add these effects one by one on the camera (and I had a hard time figuring the correct order) while in UE 4 you have a volume very well configured of all of these effects (just add it into the scene). Static-Dynamic GI is available in both engines. Real-Time Dynamic GI is available in Unity through Enlighten integration into the editor, but the process requires baking time and it takes a lot for medium sized scene (see the Post-Apo Pack by Manufacture K4 from Unity Asset Store as reference). UE 4 has a solution in place for terrains, they are working on one for the rest of the scene, NVIDIA has VXGI in place and a community guy is working on a solution called AHR.

- Closed source vs Open source: Unity is closed source and UE 4 si opened source. Though it may not be a big deal, having access to the source code it gives you the possibility to debug the engine when you hit a limitation or a bug and have a better image on how you can go about it with less trial and error as is the case with closed source engines.

I guess these are the main things most of you guys are interested in reading about a comparison of Unity 5 and Unreal Engine 4.

Regards to all.

@katoun9, that was a great writeup of the differences. Have you considered creating an article about it here on gamedev.net?
Advertisement

@katoun9, that was a great writeup of the differences. Have you considered creating an article about it here on gamedev.net?

Until now I haven't, but now I do. :D

I like your nick

I would go for Unreal 4 (though by looking at the engines I would pick Unity much much rather) - just becouse there are plenty of professional games, or really stunning great indie prototypes, while Unity lacks in this.

I like your nick

I would go for Unreal 4 (though by looking at the engines I would pick Unity much much rather) - just becouse there are plenty of professional games, or really stunning great indie prototypes, while Unity lacks in this.

Do not choose a game engine solely by the games created with it. If you are good programmer/developer you can create a good game with any of the too.

Both of them have some limitations and a better knowledge of these differences gives you a better choice for the type of game/project you want to create.

In broad lines: Unity is better for mobile games and not that heavy games for desktop and consoles. Unreal Engine 4 is the best engine for big games, the tradeoff is in workflow speed, but the engine came a long way from it's previous version (also UE 4.7 was improved even further).

I am trying to switch to UE 4 because my project relies on heavy foliage usage and because Unity gives a hard time with scenes with many objects. Though Unity 5 came a long way in performance from it's previous version (or it's beta versions), it still drives me crazy biggrin.png (I have invested money in assets and extensions, the extensions are hard to integrate with each other, their code gives me errors if I move them from the root directory, hey I love a neat organized project, the editor does not give me any progress when opening a level as UE 4 dose and when the scene has more than 4k objects it takes some time, plus other small issues that add up with time). My conclusion was: Unity is not suited for my big project.

When you start looking at both engines, you see Unity was made for smaller projects and very fast prototyping, while UE 4 for big games. Both of the companies behind the engines want to close the gap but it is a hard thing to do. Right now things go as I stated above biggrin.png

Best regards and choose wisely.

I actually just started this conversation over here announcing a new Unity/Unreal Engine tutorial series I am working on right now. When done, you will have a direct side by side comparison of the workflow required in making a game in both engines ( as well as 2 complete 2D game tutorial series as well! ), making this question easier for you to answer for yourself. Ultimately both engines have their strengths and weaknesses, and what might be a strength to one person is probably a weakness to someone else! So ultimately you need to judge for yourself.

That said, I am only a little bit of the way in, so it's going to be a while...

This topic is closed to new replies.

Advertisement