Does anybody have strategies for how to use different sprite sheets for different resolutions? This is a very common workflow in just about every other app authoring environment I've worked in, and I find it very surprising there aren't more people talking about this? Before you say just use Reference Resolution, that is only half the solution. Inherently this means you are either upscaling low-res assets which looks poor on hi-res devices, or you are downscaling hi-res assets which looks great but incurs a huge memory hit on older devices. The official word is that we should roll our own solution: Okay so I get that we're expected to roll our own solution, but that is very non-trivial: The sprite versions you're not using should never be loaded into memory. This means: You can't reference multiple versions of sprites in the inspector, as they will consume application memory when the object is created on level load or instantiated (correct me if I'm wrong. I think you will at least avoid texture memory until it is set as the active sprite) You instead need some kind of scheme involving Resources.Load. This gets tricky because the APIs for working with sprites sheets aren't great. E.g. it's difficult to enumerate over the sprites in a sprite sheet or to say which spritesheet asset a sprite came from. You will still incur the memory hit of whatever sprite is used to set up your scene. Eg if you set up your scene using 1x assets then you will still pay the memory cost of those when switching to a 2x environment Furthermore, you need to ensure sprites are correctly referenced at any point in it's life cycle, such as: Sprite present in the scene on Load Sprites dynamically instantiated from prefabs Sprites referenced in animations. Quite frankly this sounds like a world of pain. If anybody has strategies for dealing with this I'd love to hear it. Are most people just using 2x assets, scaling down and saying to hell with older devices? And to the devs, ideally for unity to be a competent 2D app development platform this should be automagical. There are numerous ways to go about this, but the most straightforward I can think of is specifying different scaling versions of sprites in the property inspector or asset importer. I'm not sure how memory management would work, but I imagine there would be a global flag you could set to choose your desired resolution. This means loading the correct assets could be built into the scene loading scheme. As a dev that would be wonderful.