I think the tutorials and documentation are a lot better for UE4, honestly. There may be a lot of material for Unity, but much of it is outdated, and I find it hard to follow video tutorials in Unity compared to UE4’s editor - it has too many panes and panels and tiny buttons and gizmos and stuff plastered all over, it’s way too hard to learn any real workflow amid that, much less interpret someone else’s layout during a tutorial and figure out where those options are on your own (probably different) layout.
The thing that got me was having to rely on multitudes of different asset store packs and things, and trying to integrate them all together, plus with whatever third party networking solution you decide on (since the base networking is meh, and would require integration into any packs anyway). As others have mentioned, you frequently come up against the issue of working on engine features rather than gameplay.
The source control situation with UE4 is vastly superior to Unity - no goofy source control server that costs $500/seat, and the integration is fast and seamless (Perforce). Haven’t tried Git etc but I magine it’s similar. Source control for Unity is annoying as hell (doesn’t get you until you have a bigger project and multiple developers, though).
In general though, I find the tools/workflow, documentation, and overall results to be quite a bit more pleasing with UE4. Progress on actual gameplay features rather than integrating engine-level middleware is a lot easier to achieve in a reasonable amount of time.
If you are a total beginner and just want to get started, I guess Unity can be a bit simpler, since is much more lightweight. Add a script, write some code in Start and Update and tada you got something working. UE4 has a GameMode that spawns Controllers and Pawns and possible Hud and you need to take care of all sorts of stuff and then there are so many windows and options and tools … So yea UE4 might be a harder start than Unity.
That being said…
UE4 scales immensely better than Unity. For a start UE4 has a ton more features than even Unity Pro has. Sure there is the asset store for a lot of things, but they cost money and often they are not as good as the things you have in UE. Back when it was UDK vs Unity I had a lot of pro and cons for both, but UE4 is a clear winner for me. Besides the obvious rendering effects there are also extensive audio tools in UE. You have a system that allows for localization of texts and dialoges. You got blueprints, the best thing ever for prototyping or delegating things to non-programmers. There is a sophisticated multiplayer suite and the UI system Slate is starting to really pick up speed, too.
And Cutscenes! Matinee is a great tool for in-scene animations, the animation system in Unity is very bare bones. It has a good thing going for characters, but UE is rapidly closing in on the last missing features (i.e. retargeting). Or take the terrain editor, you can actually just paint holes in terrains that players can walk through, this is one of the worst nightmares with the Unity terrain engine. Speaking of nightmares, Unity does not allow for nested prefabs, so if you have some effect and want to attach it to an object and then keep the object as a prefab you have to change all copies of the effect manually if you change anything. In UE you can use nested blueprints without problems and you get a cool component editor, too.
Working on a bigger project in Unity is a general headache, we find ourselves programming features that UE4 just has out of the box all the time and UE seems to be easier for artists, too. We had many rant conversations in the style of “in UE this would have been much easier”. I often hear the big argument, that C# is way less to write and thus much better than C++ and while that might be true on a basic level it heavily skews when you have to spent a significant amount of extra work on things that you could get out of the box in UE.
In conclusion, in my opinion Unity is easier to pick up, but the Unreal Engine holds up much better the bigger your projects get and it’s not too bad for little things either.
(…and you have to make a looot of money before Unity Pro gets cheaper than UE)
One reason that I am currently learning UE4 over unity is the developer relationship to the community. They seem much more responsive, I don’t browse the unity forums as much these days but I don’t recall seeing a engine developer responding directly to a question as often as I do here. That and the amount of updates they’ve released in only half a year is amazing.
That deserves an “amen”. Epic’s attitude toward their developers is great, and they take criticism with aplomb, which is something I did not find to be the case when we were originally using Unity. Bug reports over there were met with resistance and sometimes outright hostility (or worse, were just closed without comment or ignored completely). The community managers here work hard to keep us happy and to keep the forum conversations civil and productive. Engine and support developers are always answering questions and helping developers out on AnswerHub and here in the forums.
Also, the kind of bickering and childish attacks you see in the Unity forums are simply not tolerated here (unless those attacks are aimed at Epic, in which case, they let the person know they’re listening and try to help). Game engines aside, I enjoy participating in these forums quite a lot and when I need help, I usually get it, either from someone at Epic, or another member of the community.
Game engines are complex beasts, and you can almost always find something that one engine does better than another, but watching how far UE4 has come in the last eight months and seeing how well Epic treats their third party developers, well… there’s almost nothing that Unity could do to win us back to their platform, even if they improved their engine and tools to be on par with Unreal’s and made the source code available.
it was this community that made me chose udk over unity.
for ue4, if unity free had shadows i would use it without hesitation.
ue4 is still in its infancy (lacking basic features) and just too power hungry. i like having the source available though, shame it doesn’t run on mobile devices very well.
im pretty sure most people could come up with something that is not there, soft body physics is the one that springs to mind right now for me.
i know it is not impossible to add anything because we have the source but i want to make games not engines.
im not complaining either because there is plenty enough there already, just ue4 feels like its still quite early on in development.
I know I’m late on this but I just got UE4 2 weeks ago. Here’s my analysis of the situation so far.
I’ve been using Unity since version 3.5. I’m currently on the latest version 4.6.
Why I chose Unity at the beginning vs UDK? Platform deployment. I wanted Android as well.
Why am I considering changing? Physics issues in unity 4.6 that are simply not acceptable. Of course I could try to redo my player, NPC and enemies scripts… Again… But I wanted to see what’s out there. Also, making a game is not just about the game engine. There’s also the monetisation, analytics (plugins, ect) of your game that as to be considered.
My observations are based on a first, not to complicated, game Dev pipeline.
unity free pros
optimized for mobile
game ads (video & banner) plugin from unity easy to int grate.
Google plugins for play and analytics that are very easy to use and don’t take too much space.
tutorial are great, just be careful o. When they were done.
easy learning curve.
For the asset store, I didn’t find anything that was a must. Either unity covered that feature in later releases or only part of the asset was useful so a lot of wasted space.
Unity free cons
physics engine is unstable… At least for me. (This is a major one and could be a deal breaker)
even if I’m targeting mobile, I’m missing some of the options like shadows, diagnostics, etc.
cheap (only 19$ +5%)
easy to navigate for the basics of what you need to create your game.
much simpler and faster to get a 2d character animated, scripted (blueprint) and spawning in a level. For the spawning part, in unity you either load your player every single time or write a script in order to load him only once. Here, I just need a PlayerStart and that is it.
easy to learn… Even the code side. After roaming to engine to see what was where and check out a couple of tutorials, it took me 2 days to have a fully operational character with animations, all my assets loaded and ready to use.
Epic staff responding in the forums.
scalability of the engine as far as low end device to high device is concerned.
Can, from my understanding, deploy to any platform from my PC… Even iOS!
lacks mobile optimization (APK can’t get to 40MB with only 10MB of content while in unity with 80MB of content I get an APK of 25MB)
2d tools are missing important tools and or options, especially on the animation side.
Google plugins for analytics and google play are either missing or hard to find.
UMG not accepting sprites. (On mobile, no matter if its a 3d game or 2d game asprites for menus are a must for optimization reasons of course.)
Coming from unity, hard to grasp the terminology of actors, spawners, etc.
I haven’t talked about the community and documentation because it feel that both answer well to their own clientele.
UE4 has it issues like Unity. But I’m leaning towards UE4 because it seems more stable. I can always find a workarounds for what is missing in UE4. But the physics engine… Not really. I’m gambling here, l know but if you never risk anything, you’ll never get rewarded.
OK that’s enough… Have a nice day and happy game Dev to everyone.
Nice summary indeed, I just would like to add another pro to UE4 against Unity, they have not yet released 64 bit support for iOS and event with the latest version we won’t be able to submit nor update a game past 1 February 2015.
A lot seem focused on pricing and graphics. Although Unity is more expensive than UE4 (at the moment), for me the pricing for either of these engines is still relatively low, so it’s not an issue. As for the graphics, many seem to be hung on the fact that UE4’s are better, but now with Unity 5’s improvements, there’s not a great difference.
The major problem with Unity, that many seem to overlook, is the fact MonoDevelop hasn’t been updated for six years, and from what I can gather, Unity have no plans to upgrade it. They are even talking about creating their own technology for converting C# to C++. They say they are doing so they can use Unity for WebGL. As a Unity developer, I find all this news disturbing. As a Unity developer, all I want to hear is that Unity are (a) either going to upgrade mono to v. 3…or, (b) going to leave it to the user to license and simply provide the means for integration for it. They should not be spending time and money on developing their own technology to compete with mono - which seems to me to be a ludicrous and impossible huge task. Better they spent the money on Xamarin license and the time on building a better 3D Engine. At least that would justify the higher cost of Unity.
Developers want to have the guarantee of stability, and right now I’m getting signals that UT don’t really have a good solution for the way Unity will move forward with C#. Who knows, in a few years they might drop mono and then what? We’d have a mammoth task of trying to convert C# code. Or even worse, in a few years, what with the pricing issue and problems of Unity, too many developers might drop it, and Unity itself might go to the wall.
The only reason I’m dithering with going over to UE4 is that I like C# and I don’t relish the idea of tackling that C++ code. Also the Blueprint interface seems like an unfathomable maze of boxes and wires to me.
I meant to conclude that a Pro for Unreal is that it is robust and stable engine with a future, and Con for Unity is that the engine is flawed and its future is less reliable.