Corriger le problème « Android Install Location Auto » pour Meta Quest avec Unity 2022.2+

Si vous utilisez Unity 2022.2+ avec du développement pour Meta Quest, vous risquez d’être confronté à un problème lors de l’upload sur le dashboard. Bien que dans Unity l’installation du package soit mis sur auto, à la compilation le manifest final est déployé avec la valeur preferExternal. L’APK est donc rejeté..

C’est la valeur à mettre par défaut pour le développement sur Meta Quest (et probablement tous les casques VR standalone!)

Après plusieurs recherche j’ai trouvé la solution ! C’est un bug (ou une erreur ?) dans le manifest de base livré avec l’installation du moteur. Pour corriger le soucis il faut se rendre dans le dossier :

D:\Devel\Unity\2023.1.0b6\Editor\Data\PlaybackEngines\AndroidPlayer\Apk

Et ouvrir le fichier LauncherManifest.xml, de la changer la valeur preferExternal par auto dans android:installLocation

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.unity3d.player"
    xmlns:tools="http://schemas.android.com/tools"
    android:installLocation="auto">
    <supports-screens
        android:smallScreens="true"
        android:normalScreens="true"
        android:largeScreens="true"
        android:xlargeScreens="true"
        android:anyDensity="true"/>

    <application android:label="@string/app_name"
                 android:icon="@mipmap/app_icon"/>
</manifest>

Maintenant vous pouvez recompiler votre APK et c’est bon 🙂