Archive

Having now had the pleasure of building several games with both Unity iPhone and the base iPhone SDK from Apple here are some thoughts.

If you are just doing a simple 2D game or puzzle, the Apple iPhone SDK is a good choice. Although Unity can get the job done too, we’ve found that the real power of Unity comes into play when you start to cross the line from 2D to 3D…and hence the name “Unity 3D”. Kinda like cracking a nut with a sledgehammer sometimes!

Now if you opt to use the iPhone SDK, you are in for a heck of a learning curve compared to Unity, but once you get your bearings, you just might learn to like it. The other benefit of familiarizing yourself with some Objective-c and Cocoa is that it will actually help you with Unity once the next release drops over the next little while. You see, the next version of Unity iPhone will allow for binding custom ObjectiveC/C++ functions to C#/Javascript and also provide for native on-screen keyboard support and interoperability with Unity GUI. What this means is that you will have all the power of Unity, but should also be able to tap into raw SDK features that may be missing from Unity when you need to, giving you the best of both worlds.

Now, if you are planing on a 3D game, for us, it’s a no brainer, we use Unity 3D. The amount of time and effort trying to implement something significant in Open GL ES using the base SDK would be crazy. Unity makes putting an 3D game together about as easy as it’s going to get. We find it allows us to really focus on the games we are building not waste a lot of time and energy worrying about all the details taking place under the hood.

So in a nutshell, if you are really into iPhone and Unity development, you really should make an effort to learn both. For 3D games, Unity is the ticket and for 2D you can either use Unity or consider using the base iPhone SDK.

I’m looking forward to the next release of Unity iPhone and the iPhone 3.0 sdk … won’t be long now!