It is a doubt that I have, keeping in mind that UDK it’s still being used for current projects :)!
This is subjective and is entirely personal preference for most people.
I initially used Torque Game Engine and Torque Game Engine Advanced (now called Torque 3D) and at one stage I used Unity and I wasn’t happy with the non-source code restriction so I went back to Torque 3D … I recently (last year) decided to move from Torque 3D to Unreal Engine (when it was still a paid for version) as Unreal Engine had the features I was looking for and Torque 3D was just too far behind other engines like Unity and Unreal Engine.
Since then my team and I have never been happier. Things just work and it doesn’t take huge amounts of effort to get the game engine to do what you want for your game … as long as you understand the basic fundamentals and core concepts.
Our game project is strongly moving to a final release and we have not encountered any show-stoppers that has forced us to change direction … we want the game to do this … we code it … the game does it. The main challenge was understanding replication (this came for free by default with Torque 3D), but once we got the hang of that and made sure we supported it from the start … the rest was relatively easy.
Right now, I am spending 2 to 3 hours a night after work putting features from our back log in to the game and I am making forward progress every week. There is the odd bug that we encounter now and again … but this is primarily due to our code and not the engine.
So for me … Unreal Engine is definitely the right engine for us and will be my choice from here on in on all our projects.
I have tried Ogre, Panda, jMonkeyEngine, Unity, Torque 3D, Hero Engine … and a host of others … Unreal Engine is my engine of choice.
UDK will very soon be left behind as everyone will migrate to UE4… or I guess if you know 3d vector math, software engineering, calculus, programming languages then I suppose they could make their own graphics tech.
Bottom line is that UE4 is very accessible and, although in infancy, will have a crazy amount of documentation and features and tutorials in the near future. It’s only been one year.
I would guess, though I have no empirical data to back it up, that Unity is still the most-used for Indie games. They were the first to really dive in and support mobile devices as a first class platform, and mobile is where a lot of indie developers have thrived the last few years.
I think Unreal is making strides, though. Like qdelpeche, I’ve worked with many game and graphic engines over the years (Torque, Sios3D, Ogre3D, SceneKit, Source, Cocos3D, and now Unreal, not to mention a home-grown engine I worked on a few years ago until I realized just how much work writing an engine is). Also like him, Unreal is my engine of choice (which should be no surprise given these are the Unreal Engine forums ). Having access to the source code is huge for us, and though you can argue individual features between engines, there’s no doubt that Unreal is a top-tier engine capable of producing world-class games. UE4 also makes it fairly easy for less experienced programmers to get started, so it really covers both ends of the spectrum very nicely.
With Unity and several of the others, you kind of knew that if you were successful and your game was a hit, you would likely have to switch to another engine at some point when you outgrew its capabilities. Not so with Unreal. Having an engine that’s approachable for the beginner, but also capable and expandable enough for professional high-end game developers is really a winning combination IMO.
I think you have hit the nail on the head here on exactly how I feel about Unreal Engine and why we chose it. Well put. 8-}