Sprite Atlas's default behavior, is it an issue? Why does working with lots of sprites seem unnecessarily complex?

I read an article that said the problem with Unity’s SpriteAtlas is its default behavior:

"When you reference a sprite that lives within a SpriteAtlas, you load the entire atlas into memory and then use the specific region your sprite takes."

The author’s solution is using SpriteAtlas & Addressables in tandem. With that said, what’s the best method of dealing with lots of sprites?


The documentation seems to provide mixed information. It mentioned needing a method of distribution (either Resource folder, AssetAddressables, or Late Binding). However, the other articles I found didn’t mention any of this.


Trying to look this up, you’ll also come across things such as AssetBundling (now deprecated) and Sprite Packer (also deprecated).

I’m surprised that loading in a sprite sheet isn’t as simple as I t thought it would be. Am I over thinking this?


[1] Unity Addressables & SpriteAtlas: How to Efficiently Use Sprites

But what is the problem here? The whole point of using atlases is that it’s a one texture that you load into memory and then only use chunks of it. This of course has a disadvantage that whole atlas is now in your memory, so you should only use it for specific use cases.

Main benefit is that SpriteRenderers using sprites from the same atlas can be drawn in the same draw call. So you should only atlas sprites together where it actually makes sense. So for example parts of the same object should be in the same atlas.