Texture atlas behaviour and build size

Hello everyones,
as the title says i can’t totally understand how the texture atlas (not the legacy one) really works under the hood.

I’ve always thought that the main task of a texture atlas is packing npot textures to better compress them while reducing draw calls but, from what i’m seeing, the unity built in tool works in a different way.

I’ve tried to build for android both with atlas and without atlas and the .apk generated files have nearly the same size. The weird thing to me is that the build with the atlas has a bigger size than the one without the atlas.

Furthermore, reading the build log, i’ve also noticed that the .spriteatlas file is just a small file with a list of textures and position instead of a real image file like it supposed to be.

Am i missing something? I’m using unity 2017.2

Thanks in advance

I’m also experiencing issue with this. It seems to me the point of an atlas is to include a single image in the build instead of the entire cadre of sprites used to make it up. I would have thought this would save on file size - not make it bigger.

I feel like I must be missing something, because as it is I see no reason to use this ‘feature’.

Through trial and error, I realized that I could massively reduce the build size by packing everything into an atlas and then compressing that atlas (rather than its individual sprites).

However, again through trial and error, I suspect that batching happens only when the items being drawn are on the same page of the atlas - if they’re not (for example because the atlas is too small), switching through different atlas pages breaks batching. This, in turn, forces one to use the biggest texture atlas possible, which seems to also increase the size of the build.

P.S. With all due respect to the Unity team - as much as I love your engine, I, too, found the Atlas feature to be very poorly documented. Not a lot of people seem to know how to make meaningful use of it (I’ve also asked atlas-related features on the forums, with little result) - it would be extremely helpful if the documentation for it could be expanded with real-life use cases (or if some sort of a tutorial explaining how these features are intended to be used was available).