Hi, everyone
I’m working on a 2D game in Unity, and I’m trying to figure out the best workflow for handing multiple sprite resolution tiers, mainly 1080p, 2k, 4k.
I’ve been struggling with this for nearly a week, and I still can’t find a workflow that feels clean and practical. Everything just feels awkward and overly manual.
My current understanding:
I see two main approaches:
Option A: Use Sprite Atlas Variant
- Prepare only the 4k source assets
- Generate lower-resolution atlas variants from the 4k atlas
- switch atlas tier depending on quality settings
This sounds simpler, but I’m worried that:
- visual quality of the generated lower-resolution variant may not be good enough, especially around image edges
- if a specific 1080p asset looks bad, I won’t have much control over fixing it individually
Option B: Prepare separate source assets for each tier
For example:
- 4k source sprites
- 2k sources sprites
- 1080p source sprites
Then create separate atlases for each resolution tier and switch them at runtime.
This sounds more controllable, which I prefer, because I can manually optimize a specific tier later if needed.
However, this approach also creates a lot of extra work. It feels like I would have to manually replace every sprite in the scene through code.
And then there is the Animator, which feels like the most painful part.
How is this usually handled?
Do people create separate animation clips or states like:
- Idle_1080p
- Idle_4k
and then switch between them using something likeAnimator.Play()?
If so, how do you handle switching cleanly?
Do you also have to worry about animation timing and preserving the current playback state?
As for PPU and pivot, I think I’ve mostly figured those out already.
If anyone has experience with this kind of workflow, I’d really appreciate hearing your thoughts or seeing how you approached it.
Thanks a lot.
By the way, I feel like this should be a fairly common problem, but Unity’s built-in workflow for this still feels much more manual than I expected. I actually found an abandoned tool called 2d tool kit(which is long time ago abandoned), that has a cool freature called sprite collection that can solve my problem, too bad I can’t even buy that tool now, it‘s delisting from Unity AssetStore now.
screenshot of my game
