I’ve been using UE for 4 years now. I will tell you why I continue to use it. The Unreal Engine 4 is far more superior for the following reasons:
1- It has rich, complete and stable toolset that allows you to create any aspect of the game much faster. If two teams are going to develop the same exact game, one experienced in UE and the other is experienced in another engine, the UE team will be the first to finish. Tools like Blueprint, Matinee (cinematics), Cascade (VFX), Visual Material Editor, etc will allow you to complete your tasks in an efficient, timely manner.
2- The code base that ships with UE is extremely flexible, and allows you prototype your game in no time, because alot of the *startup *work has already been done for you. All you have to do is build upon the code base, and customize according to your needs. This is alot more efficient than writing the whole thing from scratch. Classes like PlayerController, GameInfo, Pawn, Weapon, Projectile, etc cover alot of ground for you out of the box, for any type of game.
3- The editor’s UI has been completely revamped, ending up with an amazing, artist-friendly, highly-responsive, inviting and elegant UI.
4- UE4 ships with complete source code. Your project is no longer held hostage at the engine owning company, until they release bug fixes that stopped your progress or even drove you mad. If you have a programmer, he can solve it for you on the fly.
5- UE4’s source code is hosted in GitHub, allowing for collaborative work. Expect in a couple of years to see lots of folks pushing useful stuff with new features, plugins, etc, for free. Rama’s vertex snapping tool is just one example. There is also the marketplace that needs some patience to see it populated with amazing stuff you can use at any time.
6- Dirt cheap license fee of 19$ per month per seat, which you can unsubscribe at any given time. Only subscribe when there is a feature that interests you. One can argue that there is a 5% royalty, but the sad reality is that only few indies make it to the finish line *and *be successful at the same time. Instead of paying hundreds and hundreds of dollars upfront on the hopeful hope that you’ll end up with something, you can just go for it as cheaply as 19$, and if you make good money, 5% isn’t going to break your neck. And since at this point you’ve been successful, you can talk with Epic on custom licensing terms to remove those 5% (or decrease) for your future projects, because you simply can afford it by now.
Now lets address two of the concerns you mentioned:
Unreal Engine is hard to learn.
That is a myth, my friend. If you are an experienced 3DS max user, and want to switch to Maya, there will be a serious learning curve regardless of your experience in Max. However, your previous experience will help you grasp stuff faster. Basically, you will learn UE4 faster, than any complete noob. Human nature is resistant to change. People are afraid of change, that’s why some keep on throwing those artificial obstacles in front of them just to continue convincing themselfs with whatever they want to believe in. They are simply being emotional. My advice to you is to be practical and try new things.
Also note that UE4 is feature-rich, so it is expected that you’ll be spending some time learning everything, not because the toolset is difficult. At the end of the day, what matters is your production time. UE4 will minimize that compared to other engines. You will learn once, produce many. Remember that.
Unreal Engine lacks documentation.
That was true, back in 2010. UDK’s documentation has grown to become comprehensive and absolutely amazing. Check this out, and if that’s not comprehensive, I don’t know what is. There are tons of training DVDs, books, tutorials etc out there for UDK. So lets be patient, and trust me, the docs will grow. It did before, and it will now, specially that the philosophy of UE4 is much more indie-friendly than UDK.
Hope this helps.