[Tip] A little trick I learned about reduce built size in Unity

In general the smaller your game the better, and there a few way you could reduce it while keep your game quality:
-The striping level in player setting
-Optimize mesh in mesh import setting
-Format in Texture import setting

Most people already know all of this, and I don’t think we can do anything more with the first two.

About the third, most likely you will choose one of these setting: True color and Compressed.
The problem with them is one is not compress at all => huge size, and the other is a lot of banding=> ugly.

Now is the thing a lot of people don’t know(I think). If you choose Texture Type>advanced , you will have access to tons of compression method. Maybe some of you have saw this, but scare of by those labryrinth of text that you have no idea what it mean and just leave it to automatic. Some of the time it fine but for me, most of the time the result is suck. This is one example: as you can see the image on the right look much better but still 8 times smaller! (2m vs 256k, from the original 3m)

So what compression method to choose? I really have no idea, you have to experiment your self, but one thing to keep in mind: if you need your texture to have transparency, you need a method that have the letter “a”, like rgba instead of rgb.

Hope this help :slight_smile: if you have any tip about the size reduction, feel free to comment below

--------------------Update------------
Another thing is don’t use generate mip map if you don’t use them e.g in UI or 2D games

2 Likes

Crazy how much better RGBA Compressd PVRTC 2 bits is then RGBA Compressd PVRTC 4 bits.
Thanks a lot.

You can end up effecting performance (and waste memory) if you don’t choose compression methods supported by your target platform as textures have to be decompressed into memory on load and get stored alongside their compressed version rather than stored and used in their compressed formats.

There is a handy tables halfway down here showing you platform vs formats:

That shouldn’t be a problem because I notice Unity will warn us if the method not supported by the platform (only if you choose override for …)

PVRTC 2 bits seem to be a good choice if you doing mobile game