Préparation de l'environnement de développement
Quest et Quest 2 fonctionnent sous Android. Pour pouvoir déployer un projet Unreal sur ce type de plateforme, il est nécessaire d'installer et de configurer certains outils.
Dans ce document, je liste les différentes étapes de préparation réalisé pour mettre en place mon environnement de développement dans le cadre de la réalisation du démonstrateur. Vous y trouverez aussi les problèmes que j'ai rencontré et les solutions trouvées.
Les étapes suivantes ont été réalisées sous Windows 10, pour Unreal Engine 4 et Unreal Engine 5.
Packager le projet Unreal pour Android nécessite JDK 1.8.0_202.
Android Studio
Andoid Studio inclut tout le nécessaire pour communiquer avec des appareils Android, comme les casques Quest et Quest 2. Il fournit tous les outils nécessaire à Unreal pour développer sur ces plateformes.
- Téléchargez et installez Android Studio version 3.5.3 ou supérieur (validé pour 4.0).
- Ouvrez Android Studio, dans SDK manager :
- Installer cmdline-tools (latest)
- Dans Platforms, sélectionnez et installez android 10 et 9
- Dans Tools, cochez "Show package details" et sélectionnez SDK build tool 28.0.3 et 29.0.2
- Depuis le répertoire d'installation d'Unreal Engine (par défaut, ProgramFiles\Epic Games\UE_4.27), ouvrez Engine/Extras/Android et lancez SetupAndroid.bat.
Android est mis en place et Unreal Engine peut accéder aux ressources et outils qui lui sont utiles pour packager un projet pour Android.
Problèmes rencontrés :
SetupAndroid échoue quand \Icecast\bin est trouvé dans la variable d'environnement PATH. Je ne trouve pas la raison du problème. J'ai du l'en retirer.
SetupAndroid échoue, il cherche sdkmanager dans Android\Sdk\tools alors qu'on le trouve dans Android\Sdk\cmd-line-tools\latest. Il ne vérifie pas correctement que le fichier existe, certaines lignes ne semblent pas être exécutées ... Pour résoudre le problème, je commente des lignes pour ne garder que l'assignation qui nous intéresse.
::set SDKMANAGER=%STUDIO_SDK_PATH%\tools\bin\sdkmanager.bat
::IF EXIST "%SDKMANAGER%" (
:: echo Using sdkmanager: %SDKMANAGER%
::) ELSE (
set SDKMANAGER=%STUDIO_SDK_PATH%\cmdline-tools\latest\bin\sdkmanager.bat
echo Trying sdkmanager: %SDKMANAGER%
IF EXIST "%SDKMANAGER%" (
echo Using sdkmanager: %SDKMANAGER%
) ELSE (
echo Unable to locate sdkmanager.bat. Did you run Android Studio and install cmdline-tools after installing?
pause
exit /b 1
)
::)
Mode développeur
Par défaut, les casques Quest / Quest 2 ignorent tout contenu inconnu présent dans leur système. Pour pouvoir consulter et lancer des projets unreal sur le casque, il doit être passé en mode développeur, c'est un processus qui nécessite d'appairer un compte Oculus développeur au casque.
- Inscrivez un compte facebook en tant que développeur Oculus via https://developer.oculus.com.
- Ajoutez ce compte à une organisation, pour ce faire rendez vous sur votre dashboard oculus développeur https://developer.oculus.com/manage. Vous pouvez créer une organisation fictive.
- Appairez le casque à votre compte développeur. Pour ce faire, téléchargez l'application Oculus sur votre smartphone et suivez les instructions. Le premier compte ainsi ajouté sur le casque devient l'admin et est le seul à pouvoir utiliser les fonctionnalités de développement.
- Depuis l'application Oculus, sélectionez votre appareil, activez le mode développeur dans ses options.
- Redémarrez le casque, dans les options activez le mode développeur.
Le casque est prêt à recevoir du contenu provenant de sources non officielles.
Notes
- Créer un compte facebook fictif est contre les guidelines d'utilisation de la plateforme. Il est théoriquement possible de créer un utilisateur de test facebook, créé à partir du dashboard d'un compte oculus indépendant de facebook. Cette méthode est pratique pour simuler plusieurs utilisateurs (liste d'amis etc.) mais inutile pour passer le casque en mode développeur.
- Il n'est actuellement pas possible d'appairer un casque Quest 2 à un compte autre que Facebook. Dans le futur proche (Août 2022), les comptes Meta devraient apparaître pour permettre la séparation des comptes personnels facebook et les comptes d'utilisateurs VR.
- Seul le compte admin du casque peut accéder au contenu téléchargé par des sources inconnues.
Unreal Engine
Des plugins disponibles via l'éditeur d'Unreal Engine facilitent énormément le développement pour Android et la VR.
- Ouvrez un projet Unreal dans l'éditeur.
- Dans Edit > Plugins, cherchez le plugin OculusVR et activez le.
- Dans Project Settings > Platforms > Android,
- Appliquez "Configure now"
- Configurez "minimum SDK" à 23
- Configurez "target SDK" à 25
- Dans la sous-section "Advanced APK packaging", ajoutez Oculus Quest et Oculus Quest 2 à "Package for Oculus Mobile device"
- Dans Project Settings > Engine > Rendering,
- Configurez Mobile MSAA à 2x MSAA
- Dans la sous section VR, désactivez "Mobile HDR" et activez "Instanced Stereo".
- Redémarrez l'éditeur.
A ce stade tout est en place pour créer une application android exécutable et le déployer sur un casque Quest 2. Ces éléments de configuration incluent aussi les paramètres recommandés par défaut pour un tel projet, notamment en vue d'améliorer les performances.