When UE4 hits a point of proper stability, (it’s getting better all the time) picks up in the mobile + 2D market and C# is widely adapted, then Unity is doomed. Yes I know there is blueprint, but to get Unity users to migrate you have to give them some course of familiarity. Some people just absolutley hate C++, this isn’t to start a flame war because nobody can dictate preference or involvement to another. You have to remember, Unity’s user base still absolutley dwarfs UE’s…!
The 5% is a sticking point to a fair few as well, for me UE4 will cost a fortune when income streams switch from Unity and dependant on release there will probably be some negotiating to do. Whilst I believe it’s worth it, others aren’t as easy to convince on the subject matter.
When using Unity, for the games we make UE4 can do everything Unity can do (and in a lot of cases better) but Unity can’t do half the stuff out the box UE4 can. So in staff costs alone it’s a bit of a no brainer really. Whilst I believe Epic should take care of there own engine (were paying for it in some way at the end of the day), if I was to release a game I don’t have to rely on Epic if we have a Sev1 issue that needs fixing.
I help out in my spare time with a lot of other indies, some making big MMO’s etc. Whilst most agree GRFX isn’t important compared to gameplay, you’re shooting yourself in the foot if someone can do a similar game with much shinies. Unreal sets a new bar of competition in this department and whilst you can make Unity look good, it requires too much effort from mid and even smaller devs and it’s not worth the trade off.
There are too many pro’s for UE4, I couldn’t list most of them. The staff at Epic are amazing and extremely helpful, the engine is flexible and powerful… It’ll be harder for Unity to catch up than it will be for UE4 to catch up in areas.