Take the 2-minute tour ×

I will not go into details, but I would like to hear your opinions about this:

Essentially, my project will be a 2d game, with lots of complex levels, where some might be simple and others might be a bit more deep, with physics, etc. We want to implement our very own online structure: logging in, leaderboards, achievements, friends etc with our own servers. This means no OpenFeint nor GameCenter at all. We expect this game to be very large in both graphics and audio. We wish to use in-app purchases.

Now, we considered two options. Cocos2d and Unity3d.

We need help deciding using the factors I mentioned before (networking, good performance even for a large game in terms of graphics and audio like this, in-app purchases, etc) which option would fit better this?

Technically, both options can create 2d games. I'd like to hear your opinion.

share|improve this question
You might want to accept some answer to encourage people answering your questions. It is near voting buttons near answers. –  Dvole Feb 8 '11 at 20:36
Forgot, haha. There, sorry. –  Omega Feb 9 '11 at 5:41
Since this question has been asked we've instituted a "no which tech is better" mantra. meta.gamedev.stackexchange.com/questions/695/… –  Tetrad Apr 12 '12 at 18:34
add comment

closed as not constructive by Tetrad Apr 12 '12 at 18:34


3 Answers

up vote 4 down vote accepted

For 2d game, cocos2d is surely preferable. Unity makes it easy for 3d apps, and the features that make it great for 3d will not be used in your project at all. Also considering unity is cross-platform, while cocos is single platform, that keeps you out of unnecessary overhead that is present in the engine. Cocos2d is also very polished and easy to use - features that will come very handy in large projects.

share|improve this answer
The cocos2d framework exists on multiple platforms, though, not nearly as well as Unity 3D –  HS01 Jan 31 '11 at 4:39
@HS01 That's right, but not too right. The cocos2d on other platforms is written in other languages like Java for android and C#, and those versions are not even API-compatible, as in you can't translate your game into another one without rewriting it alltogether. –  Dvole Feb 1 '11 at 6:40
Check out cocos2d-x.org for a true cross-platform (C++) implementation of Cocos2D. It's a little rough around the edges, but I'm porting a Cocos2D-iPhone game I wrote to Cocos2D-x right now, and it seems more or less production ready. The momentum with which it's being developed is amazing, too. –  Mitch Lindgren Apr 29 '11 at 22:06
add comment

They both have their pluses and minuses, and I don't think that the little detail you've specified can really narrow down between the two which is better. It would probably be better to pick one based on desired workflow, tools support, cost, and experience of the team, I would think.

share|improve this answer
add comment

If you want to release the same game for many platforms (i.e. Chrome, Android, IOS, etc.) then Unity3D is definitely preferable. Otherwise you can enjoy cocos2D. I actually use both depending on what I want to achieve.

share|improve this answer
add comment
