Problem saving to Android. Manifest and maxSdkVersion="18"

After I updated my project on UE4.18, there were some problems. As soon as I understood the packaging of Gradle, I found that I do not have save jobs in a packed version. Next, I found that the new version defaults to

uses-permission      android: name = "android.permission.WRITE_EXTERNAL_STORAGE"      android: maxSdkVersion = "18" /

Because of this, the engine can not save the game. The official Android website says that the application can modify files in its folder without the need to enable the resolution for SDK versions >=18. I think that the engine saves the files not in the application folder, and can not access.

I was trying to set up permissions with this: Android Permissions Problems - Mobile Development - Unreal Engine Forums Nothing came of it. Perhaps there is another way? Perhaps there is a way to change the save folder to Android? I think the easiest way is to change the manifest file and cut it: "android: maxSdkVersion =“18"”.

The problem was solved by including “Use ExternalFilesDir for UE4Game files” in the project settings

Thank you so much for this.

Thanks Brother, You solve my problem. Now game save work on android

This does not work for me…

Thanks bro,this also solved the “android can’t save high scores problem”.

This isn’t working for me.

“Save Game to Slot” Blueprint Node works fine in the UE4 Editor but returns false when packaged and installed on the android device.

Here are the details:


Android Minimum SDK: 19

Android Target SDK: 30

Install Location: Internal Only

Package Game Data inside .apk? - Checked

Use ExternalFilesDir for UE4Game files - Checked

Packaged Development Build with Project Launcher

Tried both - manually copied apk to device and installed/used bat file to install directly from pc

Android Device: Xiamoi Redmi Note 8 Pro

OS: MIUI 12.5.3

Android Version 11

You can also create a fresh project and package it with these settings. You’ll see that the “Save Game to Slot” works in editor but fails on Android.