When you package a project for Android you can specify what version it will use. I usually use (ETC2) as it works on my device but, what does it actually mean? does it have to do with texture compression? Also more importantly what devices support which formats? I really would like to know, I want as many people as possible to be able to use the finished product, so would the (All) platform bet best for me? Any help would be appreciated. Thanks.
Yes, that is choosing the texture compression for which you wish to package your project’s .apk. For a very general overview of texture compressions, please see this documentation from the Android developer’s documentation, and here is how it relates to the API and what will end up in your manifest.
For more specifically how this relates to Android dev on UE4, please see this AnswerHub thread. Down thread there is an explanation for how to find the compressions your device supports. It also contains many links to Android dev in relation to UE4 that you might need. Lastly, here is our community supported wikion UE4 performance on specific Android devices. If you don’t see your device listed, you can generally extrapolate how a device will perform by comparing GPUs of listed devices. If you are testing on a device that is not listed, please feel free to add your findings to the wiki.
Hope this helps!
ETC1 is likely the most widely supported forward. Thus, my recommendation is to either build for ETC1, or to build for “all” (which will make for a bigger download.)
Like jwatte mentioned, ETC1 has the biggest support. It does however not support alpha channels in textures, so unless you separate them you’re going to get uncompressed texture data. (bigger download size mainly) Either you go with ETC2, which covers roughly half of the android market and save some headache, or start researching how to handle ETC1.