Epic Games launches Unreal development grants
unrealengine.com
unrealengine.com
Unity's advantage remains in the asset area with its pipeline and arguably easier to approach editor, but source code access is a huge win for any developer that has the skills needed to maintain a product long-term.
The latest Unreal is a wonderful piece of engine software. Their blueprint system as well as their material editor and best-in-class renderer really are something to talk about. They also have a gigantic learning community. And I think their licensing terms are a good approach.
However, Unity has blazing fast compilation time on the order of seconds, a properly built play-in-editor mode, large asset and plugin ecosystem, seamless asset pipeline, and support for a modern programming language in C#. Each of these could arguably be considered a game changer in isolation, but in aggregate they are an efficiency avalanche. Nothing makes a better game, faster, than being able to go from idea to prototype in five minutes rather than two hours. It's possible to try more things, to discard ten or even fifty bad ideas for every good one, and still come out ahead. This is what it all comes down to, in my experience. And when you're done, you can port your game to over a dozen platforms (in some edge cases by simply changing a dropdown value).
That said, I'm happy that both engines are so good, because it means neither will rest on its laurels. Unreal's marketplace and Unity 5's renderer are no accidents.
Imagine your game shipped on a version of Unity that's no longer supported but you want to continue using it for projects or bring back an old game to a new OS platform. Without the source, your only option is to port the game to a new version of Unity. That's not so great.
But again, I'll readily admit that all of this is only a win if you have the right team with the right skillset. There are definitely tradeoffs involved.
There are many small, talented indie developers that definitely have the right set of skills to bring an engine to a new platform, or to one that's just slightly different.
For example, porting an engine from Linux to FreeBSD or some other UNIX should be trivial, but impossible without source code access.
Now I doubt many games are going to be ported to those platforms, but imagine a 3D walkthrough program for an architectural client or manufacturing facilities where UNIX is still found.
Basically anyone making interesting games needs source, because at some point you want to do things that the engine didn't exactly anticipate.
Also, if Unity really were "an efficiency avalanche", we'd be seeing a lot of high-polish games in Unity. To date we haven't really.
Also, Unreal 4 compiles in less than 30 seconds on my laptop and has a play-in-editor mode, seamless assets, blah. Also support for a modern programming language in C++11.
As for Unity, I like what they have done, but they are falling behind recently. They are VERY slow to fix bugs and they are late on releasing needed and promised features (GUI system took them what? 3 years from announcement to release?). Also, retina macs are what, almost 3 years old and there is still no support for that (I don't know how unity works with Windows Hi-Dpi support, anyone wants to chime in?)