Well, for starter lets just say Donāt mind me, Iām just a nobody, who works nowhere, knows nothing, and just talks random crazy smack that should be ignored by most ppl.
That said,
since you asked, let me start with this.
One of the best and i mean Best 2d engineers i know(this guys is responsible for tools millions of ppl use) said something about Unity a few months back that i canāt forget. Heās words were something like:
āUnity is just a toy engine, nothing ever really works, it doesnt have feature it has gimmicks, every time you do something a bit more complex, it bugs out on you, and when you try to go around it, oh yeah more bugs. And they wont fix it either, truth is they donāt really care, they are not going to give us what we need, and they never listen.ā
You need some serious experience to understand what he was saying, truth is that the component system you talked about is not relevant. Its a āfeatureā for your eyes, that mostly just attracts attention and has some serious performance problems under unity(like anything). Most of Unityās features are not relevant, they only attract newbs and ppl that donāt care about performance. Why do you think every major company makes their own solution, if these engines are so āgreatā?
Also c# is utter trash, being tied to .net is just a very bad idea, and like said above, they never listen, ever. People have asked for c++ for a while, they did nothing, actually the real dev community asks for a lot of things and they plain out ignore it.
They are in it for the money, Unity is heavily over priced, for what it offers. I have never seen a professional in the industry not bash it. Also, anything more sophisticated that you want to make will require either months/weeks of coding, or $$$ for your latest asset, which in the end becomes a very investment for an engine you donāt own.
2D for instance is a major second citizen in Unity, there is no making 2D games unless you bought something called 2DToolkit, seriously. And thatās -not going to change.
I could go on but this is already a rant so iāll stop here.
Unity can be of use in some situations, provided you donāt have a more optimal/performant in-house solutionā¦
Cocos on the other hand has much, much better performance, its OSS(source access), and the cocos devs never say or do dumb things, clearly they are moving the engine in a very good direction. Plus, frankly, the creator of cocos2d is someone you should respect, he is a great guy and very smart.
For me, performance and source access with, thank god, c++ are the top reasons on my list for -any- engine, thatās just too good to be true.
On a side note, i spent hours on cocos studio this week end, and quite frankly-> its awesome already.
It has a lot of great features, their animation system is already pretty good(check it out if you havent), they have built-in sprite-sheet maker, and overall the layout for a solid future is there.
I think chukong is going to take cc2d to the top.
Its not that hard really, if they make cocos studio a top priority, and also add some of the engine redesigns that iām seeing discussed in the dev forums.(like multi-api solutions)
They can have a set of tools that are just as friendly as game maker, for newbs, but also leverages Lua, -and c++ for more advanced devs.
Cocos can -easily become the de-facto standard for 2d and maybe even good 3D games, they will make big bucks off of it.
Truly, game maker is terrible for anyone who wants depth, Unity is bloated, over priced, and misguided. The bottom line is Cocos has very little competition if youāre honest with it.
Iām not gonna comment on Unreal btw, Epic is a terrible company, unreal4 is a very heavy engine, thatās all Iām going to say.
I dont really believe Cocos is the top engine now though, it has a long way to go, but at least it is going there. Oh and donāt get dragged by the gfx showdown these āotherā engines have. If you had the team and the knowledge to make an AAA game, you would develop your own solution, period.
So Cocoās market is good 3D games and Grand 2D games, they donāt need to aim any higher.
They need to fully integrate and improve the engine/workflow thatās all.
I believe in 1-2 years Cocos will be the top set of tools out there, specially for indies.(which includes small teams that work for big studios on contracts)
I did a test once a while back running 3000 units on the screen, unity nearly crashed, cocos handled it fine. But thatās another storyā¦
Good luck with your projects!