Hi there!
I’m a bit anxious because, even anticipating to the client that the game prerequisites would have been higher than usual due to the requested features and visuals, the game doesn’t run right on two of the client’s test mobile phones: Samsung A10 (2019), Samsung Galaxy J3 (2017) SM-J330FN, 2g ram.
My first thought was that I was requiring OpenGL ES 3.x to run, but both support it!
Needless to say, the game actually runs on a “relevant” percentage of “relevant” mobiles, but I’m struggling to find a reason it doesn’t run on those 2, and maybe more devices, since they have the prerequisites (looking at the tech sheets, both support GL ES 3.2).
On the contrary, it does run pretty well on older devices (Xiaomi Mi A1, and older), so I’m really puzzled.
I tested on older devices: no issues.
I searched through the forums, so I can share the AndroidManifest.xml included in the APK (even if, I uploaded a .AAB on Google Play, hopefully the generated APKs share the same manifest). I extracted this by using the APK Analyzer of Android Studio.
Here it is:
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="954"
android:versionName="1.0.954"
android:installLocation="2"
android:compileSdkVersion="28"
android:compileSdkVersionCodename="9"
package="com.notrelevant"
platformBuildVersionCode="28"
platformBuildVersionName="9">
<uses-sdk
android:minSdkVersion="21"
android:targetSdkVersion="28" />
<supports-screens
android:anyDensity="true"
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true" />
<uses-feature
android:glEsVersion="0x30000" />
<uses-feature
android:name="android.hardware.vulkan"
android:required="false" />
<uses-permission
android:name="android.permission.INTERNET" />
<uses-permission
android:name="android.permission.VIBRATE" />
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false" />
<uses-feature
android:name="android.hardware.touchscreen.multitouch"
android:required="false" />
<uses-feature
android:name="android.hardware.touchscreen.multitouch.distinct"
android:required="false" />
<uses-permission
android:name="android.permission.READ_LOGS" />
<application
android:theme="@ref/0x7f030001"
android:label="@ref/0x7f020000"
android:icon="@ref/0x7f010000">
<activity
android:label="@ref/0x7f020000"
android:name="com.unity3d.player.UnityPlayerActivity"
android:launchMode="2"
android:screenOrientation="6"
android:configChanges="0x40003fff"
android:hardwareAccelerated="false">
<intent-filter>
<action
android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data
android:name="unityplayer.UnityActivity"
android:value="true" />
</activity>
<meta-data
android:name="unity.build-id"
android:value="bc094184-46bf-4c19-bb9f-f22a80e8e1ef" />
<meta-data
android:name="unity.splash-mode"
android:value="0" />
<meta-data
android:name="unity.splash-enable"
android:value="true" />
</application>
</manifest>
Here are my Project Settings:
Do you have any clues?
I understand that setting OpenGLES 3.x as a prerequisite cuts out many devices but I really can’t explain which is the setting that is cutting off most devices.
Could you please help me? What’s your experience?
My guess would be the installed RAM which reasonably should be 2GB or more (I have tons of unique, crunched 2K textures), but how can I predict the RAM prerequisites or lower them (assuming the hard cut Google did it’s due to the RAM usage)?






