The old runtime unity uses, despite using newer class libraries and so on from the open source C# stuff from microsoft... well, its terrible. I mean, its usable, but its like C# lite, with none of the features or optimizations from you know, the past 5 years.
C++11 in UE4 is hands down better. C++14 will be even better.
...but their tooling sucks at the moment. Right now, despite the unity runtime, its still a better system to work with as a developer.
In the future, who knows?
Maybe unity will use a new version of C#? (deeply unlikely)
Maybe the UE4 tooling will improve a lot? (very likely)
My advice is 'watch this space'; the UE4 engine has great potential, but right now, despite the good parts, the bad parts are so bad I couldn't recommend using it professionally.
...but hey. Thats just my oppinion. Its free. Download it and try it for yourself. If nothing else, the code is a facinating read in C++ learning.
Actually they will upgrade Mono when IL2CPP is stable enough.
http://blogs.unity3d.com/2014/05/20/the-future-of-scripting-...
However what is you opinion about being able to use C++, eventually C++14, versus the C# 3.5 Unity keeps on using?
Just curious.