Permission requiired you must approve this premission in app settings:storage

put the extra permissions in Build/Android ManifestRequirementsOverride.txt

This method worked for me. However it’s should be shipping build. Also Android File Server plugin turned Off.

Before packaging clear binaries,intermediate,DDC and build->Android ASTC/Multi Folder (Not Android folder)

2 Likes

.bat Method worked for me too I did not have to override.

What is .bat method? Would you show me a source about that method. I have also Storage permission problem?

Where is this file located?

ProjectName/Source/ProjectName/

AndroidSanitizePermissions_UPL.xml

You create this file. And tell the project to use it by modifying your build.cs, by adding within public:

        if (Target.Platform == UnrealTargetPlatform.Android)
        {
            string manifestFile = System.IO.Path.Combine(ModuleDirectory, "AndroidSanitizePermissions_UPL.xml");
            AdditionalPropertiesForReceipt.Add("AndroidPlugin", manifestFile);
        }

Hi @LocoLeppy LocoLeppy, did you find a solution to this problem? I’m also stuck with this problem, trying to distribute the App via PlayStore for internal testing

Thanks, I was able to get save game writing to work following this.
(development build, UE5.3, target + min SDK set to 32, sideloading on to a Quest 2).

A couple details for anyone following the post at Anton Rassadin — Using scoped storage in debug Unreal Engine builds on Android API 29+ :

  • replace com.epicgames.ue4.GameActivity.bUseExternalFilesDir with com.epicgames.unreal.GameActivity.bUseExternalFilesDir for UE5

  • you’ll need to wrap the XML given at the bottom of the blog post in the following:

<?xml version="1.0" encoding="utf-8"?>
<root xmlns:android="http://schemas.android.com/apk/res/android">
  <androidManifestUpdates>
  ...
  </androidManifestUpdates>
</root>

Then save to ProjectName/Source/ProjectName/AndroidSanitizePermissions_UPL.xml

1 Like

Thank you Origins!

Manage to create a file in Documents on a Quest 3.
SDK 33, Shipping and Multi.
Didn’t have to desactivate Android File Server nor deleting any folders.

1 Like

Thank you! I’ve updated the post to reflect changed GameActivity fully qualified class name in Unreal Engine 5.

I appreciate your solution in that it worked perfectly without having to downgrade the Android API level from 33 to 32.

Here is another discussion regarding this topic