x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Many Android devices no longer supported in 4.14

I have just upgraded from 4.12 to 4.14 and am now experiencing distribution issues on the Google Play Store.

I have been packaging the game for Android with the texture compression ETC2, as all my target platforms support this format. Uploading ETC2 packages to the store has been working fine with 4.12, but since upgrading to 4.14 it removes 10,712 devices from the supported list (everything basically).

It is also worth noting that the ETC2 package works fine on 'unsupported' devices when deployed manually.

This is what a 4.12 ETC2 package looks like on the play store: alt text

and this is what the 4.14 ETC2 package looks like: alt text

Product Version: UE 4.14
Tags:
capture2.png (18.5 kB)
capture.png (306.6 kB)
more ▼

asked Nov 23 '16 at 01:57 PM in Packaging & Deployment

avatar image

Epok
70 6 11 66

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

This is due to the new code adding the required extensions to the AndroidManifest.xml for the cooked texture format. In the case of ETC2, this is GL_COMPRESSED_RGB8_ETC2 and GL_COMPRESSED_RGBA8_ETC2_EAC.

I'm looking at the logic the store uses and it looks like it is actually expecting OpenGL ES 3.0 for this (ETC2 required by 3.0). I'll change the manifest generation to use 3.0 as minimum if only ETC2 is included in the package and not use the extensions in that case.

You can return to the old behavior for ETC2 by modifying GenerateManifest() in UEDeployAndroid.cs; remove these lines:

 if (bETC2Enabled)
 {
     Text.AppendLine("\t<supports-gl-texture android:name=\"GL_COMPRESSED_RGB8_ETC2\" />");
     Text.AppendLine("\t<supports-gl-texture android:name=\"GL_COMPRESSED_RGBA8_ETC2_EAC\" />");
 }    
 
more ▼

answered Nov 29 '16 at 06:38 PM

avatar image

Chris Babcock STAFF
1k 11 110 35

avatar image Epok Nov 29 '16 at 07:08 PM

Hi, thanks Chris. After more research I understand why UE4 is now declaring the texture formats. I don't think I want to revert to the old functionality as that would allow devices that don't support ETC2 to download my game.

What is the reason the play store is restricting my ETC2 build to 332 devices?

avatar image Chris Babcock STAFF Nov 29 '16 at 10:14 PM

I've made the changes for 4.14.1 (changes now available on GitHub here: link text).

With the changes in place (remove ETC2 formats if only ETC2 selected, and require ES 3.0+), I'm seeing 3769 supported devices for my test APK.

If you don't want to make code changes, you can also try this. Make a ManifestRequirementsOverride.txt in the project's Build/Android directory with the following for your ETC2 APK:

   <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="9" />
   <uses-feature android:glEsVersion="0x00030000" android:required="true" />
   <uses-permission android:name="android.permission.INTERNET" />
   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
   <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
   <uses-permission android:name="android.permission.WAKE_LOCK" />
   <uses-permission android:name="android.permission.READ_PHONE_STATE" />
   <uses-permission android:name="com.android.vending.CHECK_LICENSE" />
   <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
   <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
   <uses-permission android:name="android.permission.GET_ACCOUNTS" />
   <uses-permission android:name="android.permission.VIBRATE" />

Edit the permissions as needed (look at the AndroidManifest.xml in Intermediate/Android/APK from a previous packaging as a guide).

avatar image Epok Nov 29 '16 at 10:35 PM

Great! Thank you very much. When is 4.14.1 tipped for release?

I will try the override in the meantime. Thanks again!

avatar image Samantha Sutton ♦♦ STAFF Dec 09 '16 at 10:38 PM

4.14.1 has released, could you verify that you're no longer experiencing this issue?

Thanks!

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question