• Runtimes
  • [Unity] Reducing textures size at Build Export

Hi, we are developing a 2D game with Unity3D, but the size of the exported game is really huge.

The maximum resolution we want to support is 1920x1080, knowing that the background and characters are pretty detailed and beautifully hand-drawn, we have to store them in their maximum resolution size.
We are using Spine for roughly every displayed elements, we've built a demo (which should be about 15% the size of the final game) but it still results in about 150 textures.png of size 2048x2048, and the total size of game_Data is about 1.2GB (from the build log, 95% of the size comes from texture).

We've already put some textures from TrueColor to Compressed to reduce the size, but it still not enough. If we stay that way, the finished game will weight about 10GB, which is not acceptable for a moderate sized "Indie" game like ours.

I know the reason it is so huge is because we are storing the images at their maximum size, they are stored for a resolution of 1980x1020. But if we try to store the source texture at a smaller resolution, let's say 960x540, then if we are rendering for a 1920x1080 resolution, they will look ugly because they will be stretched !

Do you have have any tips or tools which would result in reducing the size of the exported game ?
Thanks for your help

Related Discussions
...

Woah thats big!
You might need to find the best compression mode and turn on mipmap.
On the image inspector you will see Texture Type... Find Advanced!
There you can turn on MipMaps and test the different compression formats and play with extra features!

I like, "RGBA + 1-Bit Alpha Compressed ETC2 4 bits"... They are perfect for spines texture packing images because there is only 1 bit of space for the alpha channel.... Compressing out the majority of the image size(Which very well might be alpha). Big note here... Some Platforms(Mobile anything)... Don't have support for certain image compressions.... As that seems like the popular platform, A word of warning is needed.

You can read more on it in the unity manual!

Another option would be to re-export your images in your favorite photo editor with one of these formats. PSD, TIFF, JPG, TGA, PNG, GIF, BMP, IFF, PICT(Copy-Pasta'd shamelessly from the manual)

Hope that helps! 😃

Why do you have 150 2048x2048 textures? :o Are you exporting your animations as images from Spine? If you are using JSON data and you really have that many images, there isn't much you can do except use smaller images. You could use JPG to have a smaller size on disk and compression at runtime like CoryGold mentions.