I have a question about texture compression for the Android platform. Since there is no standard hardware for the Android phone I am not sure what the best approach is for compressing textures.
There are lots of them available but I wanted to know is there anything that will help us to use say only one type of compression for almost all the devices?
however I know its quite difficult or even not possible!
I'm not sure whether DXT, PVRTC, ATC, ETC1, ETC2 one of them will work on all android phones.?
also physical size is concerned because total size goes over 75 MB, and if some atlases compressed by using PVRTC it goes to 43 MB, but hits performance, it increases levels loading time :( .
Any help will be appreciated :)
hello, my doubt is that, what happen if i choose none in the texture compression in unity build settings in android.what should i generally use when i am publishing in google play.
thanks in advance!!!!
Answer by DarkPixel
Oct 09, 2013 at 12:59 PM
ECT1 is guarantee to work on any device. The main problem is that it doesn't not supported alpha channel. So you need to create an Alpha8 texture if you have alpha in your texture.
You can choose other format, but you need to upload multiple APK on the Google Play Store.
Good post on StackOverflow
What about DXT?
well I've alpha in my textuters...
ETC also doesn't do non square textures on Android.
Texture support on Android depends on the GPU in the device.
ETC as Recommended Texture Compression
Although Unity Android does support DXT/PVRTC/ATC textures, Unity will decompress the textures into RGB(A) format at runtime if those compression methods are not supported by the particular device in use. This could have an impact on the GPU rendering speed and it is recommended to use the ETC format instead. ETC is the de facto standard compression format on Android, and should be supported on all post 2.0 devices. However, ETC does not support an alpha channel and RGBA 16-bit will sometimes be the best trade-off between size, quality and rendering speed where alpha is required.
It is also possible to create separate android distribution archives (.apk) for each of the DXT/PVRTC/ATC formats, and let the Android Market's filtering system select the correct archives for different devices (see Publishing Builds for Android).
Further Reading - GPU These are the popular mobile architectures
for me DXT (with alpha) looks good... it also reduces the size of game...
I don't see game size as a limitation. You are allowed 2GB on the Play store.
On Google Play the maximum APK size you can upload is 50mo, but you can download "expension APK" after that. I'm not sure how Unity handle that.
DXT is a really good format but I'm not sure the percentage of the device that supported it.
Personnally, for the Live Wallpaper I release on Android (not with Unity), I used ETC1 texture with an alpha texture 50% of the width/height in grayscale format (8bpp)
Answer by liju
Nov 26, 2015 at 11:42 AM
Unity Android Texture Compression
ETC as Recommended Texture Compression, not support alpha channels. In DXT format Alpha channel is very good
In My game using ETC2
*this information based on my game , may vary for other games
File Size(KB) Format Supporting Devices Alpha Channels
21843 ASTC 1242 Good
22759 ATC 3144 Good
22860 DXT 992 Very Good
23021 ETC2 10271 Average
31598 Don’t Override 10271 Poor
31598 ETC1 10248 Bad
35933 PVRTC 2473 Bad
where did you get the "supporting devices" information?
i made this chart from my game . i build games in all format and try to upload in google play store , that time i got this information
i only asked because your #s are low for atc/dxt/pvrtc (the three major gpus) and your etc2 number is too high...it's as high as "don't override" and higher than etc1...no way do all android devices support etc2...must be error in your manifest...
Any update ?
Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.
The best place to ask and answer questions about development with Unity.
To help users navigate the site we have posted a site navigation guide.
If you are a new user to Unity Answers, check out our FAQ for more information.
Make sure to check out our Knowledge Base for commonly asked Unity questions.
If you are a moderator, see our Moderator Guidelines page.
We are making improvements to UA, see the list of changes.
Answers and Comments
22 People are following this question.
Using Different Image Compression for Different Devices (Android)
iOS vs Android build
Cylindrical cubemap can't be compressed? Workarounds?
Texture compression for android!!
How to chose between 2bbp and 4bbp PVRTC in an iOS project?