How to handle different resolutions?

Does anybody have any recommendations on how to handle sprite in different resolutions? I have some wonderful artwork that looks great on high resolution iPad but doesn’t look great at lower resolutions. How do other people handle this? Do people swap atlases?

I saw a Matrix4x4 solution, which was pretty complicated, but worked perfectly though. I’d rather go for some if-statements and then apply rescaled images.

I think I have a pretty good idea of how to alter the camera so that the artwork stays the same size for different screen sizes. The issue I want to use if how do I use different texture sizes for different screen resolutions. I assume I would check the height of the screen and use different resolutions sprites for either low res or high res.

Just scaling down the high resolution artwork looks terrible.

Ok, maybe I didn’t wrote it well, with rescaling, I meant rescaling it with a external Image Editor (eg Photoshop or GIMP), so it looks good and then check the Height/Width, on which you want to swap your Images.
The same effect can be accomplished with a matrix 4x4 and a Texture Atlas, what is a bit more difficult.

I agree with @Joker_54 rather then scaling your images, you could create x2 images for both retina screens and non retina displays and retrieve the screen size/width and decide which textures to use.

Hope these links help:

Thanks for the links but that isn’t related to sprites.

I understand that I don’t want to automatically scale the artwork at run time. What I want to know is how do I swap the texture of a sprite at runtime between low, medium and high res version? From what I can tell, it’s not possible without a third part solution.

I’m considering having 3 versions of each sprite and I’ll just use the version I need at runtime.

If you end up deciding to go for a 3rd party solution, then 2Dtoolkit is the answer for this.

I did buy that yesterday. Trying to learn it. My first experiment with is resulted in odd behaving with the aspect ration when changing resolutions. I changed the camera to ortho and it seems to help.

Also be sure to read this…
http://www.unikronsoftware.com/2dtoolkit/docs/latest/advanced/platform_specific_sprite_collections.html

OP how about to just change the orthographic camera size at runtime depending on your screen resolution, so all sprites will be scaled-up and down by Unity automatically?.. or you really want to have different type of sprites for different resolutions… I’m not sure if it’s a good approach…

You Have to use Screen.SetResolution(int width, int height, bool fullscreen, int preferredRefreshRate = 0);

Check for current width and height and put the value. Write it on Start() and attach it to a empty game Object of the entry scene.