How can i scale my game & assets for different iPhone targets? (iPhone, 3G, Touch2, 3GS etc)

I've started to reach a point where my app is running nicely on my 3GS but struggling a little on my original iPhone. I'd like to start trying to streamline the game for different platforms and wondered what options i had available to do this, at runtime.

Depending on devices

  • iPod Touch
  • iPhone
  • iPhone 3G
  • iPod Touch 2
  • iPhone 3GS
  • iPod Touch (3GS)
  • ... (tbd)

I'd like to be able to

  • Select different models to use
  • Select different texture resolutions to use
  • Change the shaders to use on certain materials

What is the scope for doing something like this, is the current device accessible in some enum or similar. I have iPhone advanced if i need to use a plugin, but i'd prefer a native unity solution if such a thing exists.

Cheers

The enumeration is called "iPhoneGeneration". You can read it using iPhoneSettings.generation.