Questions about Unity3D for my next iPhone game

I’m hoping to get some help deciding for or against Unity. I’m seriously considering buying Unity for my next iPhone game, but I got burned by Torque3D (still waiting for the product after over a year) and I want to make sure it’s worth my time. I’ve spent some time looking at the sample apps in the App Store, lurking on the forums, digging around the web site tinkering with the free version I’m definitely intrigued. Some of these are documented on the web site, but I’d really like some thoughts from people who’ve spent some time with it. Can you share your thoughts on these:

  • If I buy the iPhone Basic license to play test with, is updating later to the Pro license seamless?

  • If I wanted to build a 2D game (i.e. Sprites instead of 3D models), is Unity capable (without ninja-level somersaults)?

  • In a 3D game, what kind of polygon count can I still maintain 30fps on 1st gen iPhones/iPod touches?

  • Does it have the capability to do OpenGL ES 2.0 shaders?

  • Is it easy to integrate C/C++/Obj-C into a Unity project or does everything really need to be written in the game script?

  • What’s the best language to write in with it (C#?) ?

  • Is the game script fast enough to ship a title with?

  • Does it have peer-to-peer multiplayer connectivity built in?

  • What’s the best 3D editor to use? (I don’t want to spend cubic dollars on Maya though.)

  • Mac/Windows/iPhone portability…any issues?

  • Is the documentation/sample code what I need to get going?

  • What kind of development man-hours are into different published projects out there?

Thanks a bunch everyone. I really appreciate the help!

Yes.

Look at the various screenshots here.

Poly count is only one factor in maintaining 30fps, and probably not even the major one. (Don’t try over 10,000 polys though.)

No.

You need iPhone Advanced for that, but you’d only really use it for specific OS features that aren’t natively supported by Unity.

Whichever one you like better between Javascript and C#.

I don’t think there would be several hundred Unity games on the store if it weren’t, a number of which have been or currently are in the top 100.

No. You can use sockets in Advanced though.

Whichever one you like best.

No.

Depends on your skill level…it’s expected that you already know at least a little about programming/game creation in general beforehand.

–Eric

Thanks! That’s great info.

Good point. What have you seen as the #1 factor to frame rate then?

So, for a GameKit-enabled game, I need Advanced. That’s an important thing to consider.

It looks like I’ll be learning C#, but I have background in other languages. It’s not the language or game design that I’m worried about - I just want to make sure there’s plenty info on how to use all of Unity’s parts.

It also looks like iPhone Basic games have a considerably bigger app size than Advanced games. Do the Advanced games run (or at least load) faster?

Cheers,

Not sure there’s a #1 factor, but object count and script optimization are important.

Definitely.

They tend to load faster, yes.

–Eric

It is possible you won’t be able to use GameKit even with Advanced. I can’t say I have experience with it because Advanced it out of my price range but from what I understand Unity to Obj-C/C/C++ has a sizable performance penalty.

I haven’t seen any apps that use Unity and GameKit (the App Store’s huge though). Does anyone know of any Unity-based game that uses GameKit
for Bluetooth multiplayer?

Networking is on the Unity roadmap.

You could use the GameKit without much problem.

But you won’t find many games using it as it isn’t that popular. Restricted in the amount of connections, BT is energy hungry thus often disabled, and last but not least: its not the same as networking.