How to enable or remove special permissions for my app?

My app requires special permissions that my app doesn’t even use for

ex:
identity find accounts on the device
read phone status and identity modify or delete the contents of your USB storage
view Wi-Fi connections
read phone status and identity

My app doesn’t do any of this, how do i remove these permissions?

Hi, the permissions are set in the AndroidManifest, which is these days accessed via de Project Settings.

Taken from: Extra Permissions entered twice into AndroidManifest.xml - Mobile - Unreal Engine Forums

Ya i already know that however there are some special permissions you can’t remove in the project settings found in the AndroidManifest

permissions.PNG

However, I can’t modify the XML file in my project directory because it’ll revert back. How do I remove them?

Hi Spookey0188,

You can create an override file for the Requirements section of the XML with just the ones you want. Create a file in your project’s Build/Android called ManifestRequirementsOverride.txt. Everything after the <!-- Requirements → up to </manifest> in AndroidManifest.xml will be replaced with whatever you put in there.

Speaking of Wake_Lock, is there a way to actually make this call? The screen times out if they aren’t touching the display.

Hi Distul,

Yes, use the Control Screensaver BP node, or from code:


 FPlatformMisc::ControlScreensaver(bAllowScreenSaver ? FPlatformMisc::EScreenSaverAction::Enable : FPlatformMisc::EScreenSaverAction::Disable);

Awesome, thanks.

Hello.

Should I make ManifestRequirementsOverride.txt file completely empty to remove all permissions, or it has to contain something specific in order to work?

You need a minimum set just for it to work; do not just create an empty file.

Ok, thanks.

Don’t work anymore ? I tried now on 4.21.2 version and still have the issues “need permissions read_phone_State” but i don’t care about this permissions

1 Like

I had a similar issue of my own. I’m packaging for the Oculus Go. However, the AndroidManifest.xml was requesting access to the camera. This prevents an upload to the Oculus Go store.

<uses-permission android:name=“android.permission.CAMERA” />
<uses-feature android:name=“android.hardware.camera.ar” android:required=“true” />

I also tried the ManifestRequirementsOverride.txt. That method doesn’t remove those permission request from the manifest.

It turns out, the google ar plugin was requesting the permission. I disabled that and it no longer asks for permission.

My thought is that plugins have priority over the ManifestRequirementsOverride.txt. I don’t have any proof for that though.

1 Like