Wondering if anyone here happens to have experience in doing some simple 3D based games/apps for IOS, using cocos3d & Unity and could give some pointers....questions I have are:


1) It seems currently cocos3d has the most traction in terms of a free 3D games engine for IOS development?

2) If one wanted to step up from the free IOS games engine, to a commercial one it would seem Unity is a popular choice, however you would then not really be doing apple/objective-c development, but rather unity development and pushing a button to pop out an IOS deployable artifact correct?

FOR MY SPECIFIC REQUIREMENT - If I was interested in doing the following:

  • develop a relatively simple 3D application for iPhone/iPad
  • have a small 'world' such as a room with a few basic items in it (table, cupboard)
  • ability to 'drop' a basket ball in the room and have it bounce around based on a physics engine & perhaps some user input (not sure what, lets say control wind direction)
  • monitor it and react accordingly - e.g. say if it goes into a net which is in the room then add a point to the scoreboard

At a high level how would one do this using Unity versus using cocos3d, for example:

3) Which would be quicker to develop such a basic iPhone/iPad game/simulation out of Unity/cocos3d?

4) Would 'building your world/room' approach be different? Like in Unity would you build tables/cupboards within a Unity IDE which would make it very quick, whereas with cocos3d would you have to do this programmatically?

5) Would the programming aspect of letting the ball go and monitoring it be different between the two? Or would you roughly in both cases just be setting up world, release ball in certain position, and then engaging physics engine?

6) Any advice/guidance re which tool/approach to use? (Unity versus cocos3d)

7) Re using cocos3d for my requirement, what additional tools would you recommend above/beyond XCode? (e.g. just perhaps some sort of 3D design tool to help model the room and import/save somehow for us in cocos3d)

Basically I'm a hobbyist iOS developer who wants to do some 3d, so the concept of using a free/open-source approach such as cocos3d sounds great as (a) it's free, (b) keep using existing skill set re objective-c etc, BUT the biggest unknown to me is whether by chosing cocos3d would I be giving myself say 20 hours of work to develop a 3d app/animation that could be developed in 1 hour in one of these commercial product (e.g. Unity)?


1 Answer 1


Both are valid choices, but with Unity3D it's going to be much simpler to achieve what you want, mainly because:

  • Unity3D has a much easier content-pipeline. You can simply drop a lot of different image- and 3D formats into Unity and work with them, while cocos3d requires models to be in PowerVR POD format.
  • Unity3D has/is a visual editor, which makes it much easier to create your game-world. In cocos3d you would have to come up with your own scene-format and parser.
  • Unity3D comes with a 3D physics engine. In cocos3d you would have to integrate the physics engine yourself (for example Bullet).

I really like cocos2d (and 3d), but Unity3D is a much more mature tool for 3D game development than cocos3d is. The 3 points above alone will save you so much time that it's worth buying the Unity license.

Since you can get Unity for free, there's nothing stopping you to try both tools and see what suits you best.

  • \$\begingroup\$ thanks for the response - any rough idea re how much time Unity might save - I've downloaded it and I'm having a look now - I'm thinking that there's almost no comparison as I can image potentially a 3 hour project in Unity taking days and days of effort (even weeks) in Cocos2d/3d - am I missing something? \$\endgroup\$
    – Greg
    Dec 14, 2011 at 22:27
  • \$\begingroup\$ @Greg Yeah, unless you have good knowledge of cocos2d/3d already and a content-pipeline setup, creating such a project will be much more time-consuming than using Unity. \$\endgroup\$
    – bummzack
    Dec 14, 2011 at 23:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .