Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Join us on March 30, 2023, between 5 am & 1 pm EST, in the Performance Profiling Dev Blitz Day 2023 - Q&A forum and Discord where you can connect with our teams behind the Memory and CPU Profilers.
    Dismiss Notice

Question How to prevent my custom AndroidManifest from being merged with Unity's?

Discussion in 'VR' started by rafaelcarbonellg2011, Jan 19, 2023.

  1. rafaelcarbonellg2011

    rafaelcarbonellg2011

    Joined:
    Mar 30, 2020
    Posts:
    1
    I'm trying to upload a VR app to the Meta Store, and they reject my app because I demand permissions that I DIDN'T put in my Manifest. It seems that Unity merge my manifest with another that it creates when I build the apk, and then it puts all the permissions that I don't want.

    This is the Manifest that is generated after I build the apk.


    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.unity3d.player" android:installLocation="auto">
    <application android:extractNativeLibs="true" android:label="[USER=7078]@String[/USER]/app_name" android:icon="[USER=387498]@Mipmap[/USER]/app_icon" android:allowBackup="false" android:networkSecurityConfig="[USER=94913]@XML[/USER]/network_sec_config">
    <activity android:name="com.unity3d.player.UnityPlayerActivity" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" android:screenOrientation="landscape" android:launchMode="singleTask" android:configChanges="keyboard|keyboardHidden|navigation|orientation|screenLayout|screenSize|uiMode|density" android:resizeableActivity="false" android:hardwareAccelerated="false">
    <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
    <category android:name="com.oculus.intent.category.VR" />
    </intent-filter>
    <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
    <meta-data android:name="android.notch_support" android:value="true" />
    <meta-data android:name="com.oculus.vr.focusaware" android:value="true" />
    </activity>
    <meta-data android:name="unity.splash-mode" android:value="0" />
    <meta-data android:name="unity.splash-enable" android:value="True" />
    <meta-data android:name="unity.launch-fullscreen" android:value="True" />
    <meta-data android:name="unity.allow-resizable-window" android:value="False" />
    <meta-data android:name="notch.config" android:value="portrait|landscape" />
    <meta-data android:name="com.oculus.handtracking.frequency" android:value="LOW" />
    <meta-data android:name="com.oculus.handtracking.version" android:value="V2.0" />
    <meta-data android:name="com.samsung.android.vr.application.mode" android:value="vr_only" />
    <meta-data android:name="com.unity.xr.oculus.LowOverheadMode" android:value="true" />
    <meta-data android:name="com.unity.xr.oculus.LateLatching" android:value="false" />
    <meta-data android:name="com.unity.xr.oculus.LateLatchingDebug" android:value="false" />
    <meta-data android:name="com.oculus.supportedDevices" android:value="quest|quest2" />
    </application>
    <uses-feature android:glEsVersion="0x00030000" />
    <uses-feature android:name="android.hardware.vulkan.version" android:required="false" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-feature android:name="android.hardware.microphone" android:required="false" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <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-feature android:name="android.hardware.vr.headtracking" android:version="1" android:required="true" />
    <uses-feature android:name="oculus.software.handtracking" android:required="false" />
    <uses-permission android:name="com.oculus.permission.HAND_TRACKING" />
    <uses-feature android:name="oculus.software.overlay_keyboard" android:required="false" />
    <uses-feature android:name="com.oculus.feature.RENDER_MODEL" />
    <uses-permission android:name="com.oculus.permission.RENDER_MODEL" />
    <uses-feature android:name="oculus.software.trackedkeyboard" android:required="true" />
    <uses-permission android:name="com.oculus.permission.TRACKED_KEYBOARD" />
    </manifest>


    This is what I really want my Manifest to look like:


    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.unity3d.player" android:installLocation="auto">
    <application android:extractNativeLibs="true" android:label="[USER=7078]@String[/USER]/app_name" android:icon="[USER=387498]@Mipmap[/USER]/app_icon" android:allowBackup="false" android:networkSecurityConfig="[USER=94913]@XML[/USER]/network_sec_config">
    <activity android:name="com.unity3d.player.UnityPlayerActivity" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" android:screenOrientation="landscape" android:launchMode="singleTask" android:configChanges="keyboard|keyboardHidden|navigation|orientation|screenLayout|screenSize|uiMode|density" android:resizeableActivity="false" android:hardwareAccelerated="false">
    <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
    <category android:name="com.oculus.intent.category.VR" />
    </intent-filter>
    <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
    <meta-data android:name="android.notch_support" android:value="true" />
    <meta-data android:name="com.oculus.vr.focusaware" android:value="true" />
    </activity>
    <meta-data android:name="unity.splash-mode" android:value="0" />
    <meta-data android:name="unity.splash-enable" android:value="True" />
    <meta-data android:name="unity.launch-fullscreen" android:value="True" />
    <meta-data android:name="unity.allow-resizable-window" android:value="False" />
    <meta-data android:name="notch.config" android:value="portrait|landscape" />
    <meta-data android:name="com.oculus.handtracking.frequency" android:value="LOW" />
    <meta-data android:name="com.oculus.handtracking.version" android:value="V2.0" />
    <meta-data android:name="com.samsung.android.vr.application.mode" android:value="vr_only" />
    <meta-data android:name="com.unity.xr.oculus.LowOverheadMode" android:value="true" />
    <meta-data android:name="com.unity.xr.oculus.LateLatching" android:value="false" />
    <meta-data android:name="com.unity.xr.oculus.LateLatchingDebug" android:value="false" />
    <meta-data android:name="com.oculus.supportedDevices" android:value="quest|quest2" />
    </application>
    <uses-feature android:glEsVersion="0x00030000" />
    <uses-feature android:name="android.hardware.vulkan.version" android:required="false" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <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-feature android:name="android.hardware.vr.headtracking" android:version="1" android:required="true" />
    <uses-feature android:name="oculus.software.handtracking" android:required="false" />
    <uses-permission android:name="com.oculus.permission.HAND_TRACKING" />
    <uses-feature android:name="oculus.software.overlay_keyboard" android:required="false" />
    <uses-feature android:name="com.oculus.feature.RENDER_MODEL" />
    <uses-permission android:name="com.oculus.permission.RENDER_MODEL" />
    <uses-feature android:name="oculus.software.trackedkeyboard" android:required="true" />
    <uses-permission android:name="com.oculus.permission.TRACKED_KEYBOARD" />
    </manifest>


    Do you know how can I prevent Unity from merging my AndroidManifest file with their's?

    Sorry for my bad English.