Texture Size Guidelines for iPhone

I'm using Unity3D on iPhone (trial), and I'm wondering what the texture size limitations are. Do I need to pack my entire scene into a 1024x1024 texture? If not, what are the restrictions? Any help/guidelines to follow would be fantastic. I'm trying to see if Unity3d is the route I want to go for developing this game.

You can use as many 1024x1024 or lower textures as you want, until you run out of memory. iPhone apps don't run slower if you run out of memory - they simply crash. (You're not allowed to use virtual RAM because that would kill the life of the flash card used inside.) The textures only need to be square if you want them compressed. And you probably do.

It depends on which iOS device you are targeting.

Here is a list of hardware capabilities of each iPhone version: http://unity3d.com/support/documentation/Manual/iphone-Hardware.html

The limit on the older iThouches, Original iPhone and iPhone3G is a max texture size of 1024x1024 using OpenGLES 1.1 (very simple vertex texturing, no real fragment shaders)

Later iPhone 3GS, iPhone 4, third-generation iPod touch, and the iPad support a max texture size of 2048x2048, OpenGLES 2.0 and real pixel pipeline for fragment shaders.

As for arranging your textures, combining where possible is a VERY good strategy. For example, creating a single large texture for all of your static level geometry allows your entire level to be drawn with just a single Draw call.

Unity helps enhance performance with a lot of the finer details under the hood (batching occlusion culling), but it can only to so much with poorly optimized textures/geometry. If you make smart use of as few textures as possible, you will see much better performance.

Hey! I'm almost sure that 1024x1024 is the maximum size of texture for the iPhone. You can however use more then one texture. They also have to be square. (32x32, 64x64, 128x128, 256x256 etc. :)

Can anyone confirm this? Good luck with your iPhone project!