- 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 ). 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.