overview: Porter LifePlay Revival d'Unreal Engine 5.5 vers 5.8 (dernière version majeure d'UE5). La référence de comportement devient le jeu 5.5 validé ; tout ce qui sert à la comparaison avec UE 4.27 est abandonné ; seule la gestion des mods est figée (contrat inchangé, mods recuits).
| UE 4.27 | abandonné : plus de comparaison A/B avec 4.27, plus d'outillage ni de critère d'acceptation fondé sur 4.27 |
| Restrictions 5.5 | levées : le projet peut adopter les API, réglages et fonctions de 5.8 |
| Gestion des mods | **figée** : format `.lpmod` (lignes 1–3 par position, clés existantes), `Content/Modules/<mod>/`, plugins `Mods/<mod>/` cuits en DLC, `ModdingExtra`, `GI.ModEnableds`, gestionnaire de mods, avertissement de version : inchangés pour les moddeurs |
| Publication | règles PUB1/PUB2 : GitHub sans contenu de jeu ni contenu sexuel ; rien n'est poussé sans accord |
| Chaîne de compilation (P8) | **Option B en coexistence** (2026-10-08) : VS 2026 (≥ 18.3, MSVC ≥ 14.50.35723 ; 14.50.0–14.50.35722 bannie par 5.8) installé **à côté** de VS 2022 ; chaque projet épingle son toolset par `CompilerVersion` (`[/Script/WindowsTargetPlatform.WindowsTargetSettings]` ; avec MSVC c'est `CompilerVersion` qui choisit le compilateur, `ToolchainVersion` ne sert qu'à Clang : `VCEnvironment.cs` 5.5 l. 463-485) : `LifePlay-master 5.5` → 14.38.33130 (VS 2022), `LifePlay-master 5.8` → 14.50.x (VS 2026, 14.44 en secours). Preuves : UA-OUTILS § 5 ; 5.5 traite un VS plus récent comme 2022 mais préfère 14.38 (`MicrosoftPlatformSDK.cs:885`, `Windows_SDK.json` 5.5) ; 5.8 cherche 2026 puis 2022 (`MicrosoftPlatformSDK.cs:1540`) |
| P1 | Référence de comportement = build 5.5 validé courant (DC4, `LifePlay_Build_5.5_DC4`) et V1.5 publiée | 4.27 abandonné |
| P2 | Les correctifs de sémantique UE4 en place (`LPStringCompat`, `LPMeshCompat`, `LPNavigationHelpers`…) **restent** : ce sont désormais le comportement du jeu (les Blueprints en dépendent) | les retirer changerait le jeu ; rien à voir avec la comparaison 4.27 |
| P3 | Les commandlets à usage unique du portage 4.27 → 5.5 (`LPFix*` : ParseIntoArray, StringSearch, ButtonPadding, NavRandomPoint, AssetRegistry*, SceneCapture, FindCenter, PawnResponse…, `LPTestStringCompat` gardé comme test) sont **retirés** du module `LifePlayEditorTools` (conservés dans l'historique git) | surface de portage réduite ; déjà appliqués |
| P4 | Copie de travail séparée `D:\Game\LifePlay-master 5.8` (copie du dossier hors Intermediate, Saved, DDC, Binaries ; même dépôt git, branche `ue5.8`) ; `LifePlay-master 5.5` reste utilisable pour les correctifs | jeu jouable pendant le portage |
| UA-T3 | **Mods (contrat figé)** : toutes les surfaces du contrat — lecture des `.lpmod` (`GI`, `LPModInfoSubsystem`, `LPDataCache`), `ModdingExtra`, `GI.ModEnableds`, gestionnaire de mods, `LPHairstyleSubsystem`, `LPModDailies`, montage des plugins `Mods/` (paquets, registre d'assets dans le paquet), chaîne de cuisson DLC contre la version de référence (atelier de l'addon), avertissement de version ; ce qu'un changement de moteur casse ou non ; mods existants à recuire | 2-2-1-2-1-1 (9) | N4 | `UA-MODS.md` |
| UA-T4 | **Moteur** : installation 5.5 actuelle (binaire Launcher, plugins ajoutés au moteur, configuration machine), chaîne de compilation ; changements 5.6, 5.7, 5.8 tirés des notes officielles (API retirées / dépréciées, modules renommés, empaquetage, rendu par défaut, Blueprints, sémantique des chaînes et conteneurs) croisés avec UA-T1/T2 | 2-1-2-1-1-2 (9) | N4 | `UA-MOTEUR.md` |
| UA-T5 | **Essai de compilation 5.8** (prérequis : UE 5.8 installé) : copie jetable de `Source/`, `Plugins/`, `.uproject` hors du projet, association 5.8, compilation éditeur ; décompte des erreurs et avertissements par cause, sans aucune correction (« l'échec EST le résultat ») | 1-0-1-0-0-0 (2) +1 preuve par l'échec | N1 | `UA-ESSAI.md` |
| UA-T7 | **Outils annexes** (ajout utilisateur 2026-10-08) : Visual Studio et toolsets MSVC, Windows SDK, .NET, DXC / pilote GPU, Python éditeur, Zen / DDC, Insights, Live Coding, IDE, matériel ; exigences minimales et recommandées de 5.8 pour en exploiter les capacités ; scripts et `*.Target.cs` qui épinglent une version ; mises à jour bloquantes avant U0 et recommandées | 1-1-2-0-1-2 (7) | N3 | `UA-OUTILS.md` |
| UA-T6 | **Effort et risques** : pour chaque lot U0–U9, effort estimé (nombre de séances, niveaux de modèles mobilisés, durées de build/cuisson, actions utilisateur) avec méthode d'estimation ; registre des risques (probabilité × impact, signal, parade, plan de repli) ; points de non-retour ; recommandation go / no-go argumentée | 2-2-2-1-2-2 (11) | N5 | `UA-SYNTHESE.md` |
- **U0-T2 (N0)** : vérifier l'installation (`Build.bat -help`), relever la chaîne exigée par 5.8 (Visual Studio, MSVC, SDK Windows) depuis les notes officielles et la comparer à l'existant ; livrable `etat/U58/U0/U0-ENV.md`.
- **U0-T2b (utilisateur, puis N1)** : installer VS 2026 (≥ 18.3) avec la charge « Développement de jeux en C++ », MSVC ≥ 14.50.35723 et les composants Unreal ; figer dans VS Installer les composants individuels MSVC 14.38 (VS 2022) et 14.50 (VS 2026). Puis (N1) : épingler `CompilerVersion=14.38.33130` dans le projet 5.5 ; **compilation de contrôle 5.5** (même toolset au journal UBT qu'avant, code 0) et démarrage de l'éditeur 5.5 ; relever l'état de `%LOCALAPPDATA%\UnrealEngine\Common\Zen` avant le premier lancement de l'éditeur 5.8 (UA-OUTILS, recommandation 1) ; livrable `etat/U58/U0/U0-VS2026.md`.
**Résultat U0-T2/T2b (2026-10-08)** : VS 2026 18.10 installe le dossier `MSVC\14.50.35717` dont le `cl.exe` est en
14.50.35739 ; UBT 5.8 teste le bannissement sur la version du `cl.exe` (`MicrosoftPlatformSDK.cs:1156`, `:1416`),
donc ce toolset **n'est pas banni** ; `CompilerVersion` est comparé à la version ou au nom du dossier (`:581`,
`:1147`) → valeur à épingler pour le projet 5.8 : `CompilerVersion=14.50.35717` (14.51.36231 aussi installé, hors
liste préférée). Projet 5.5 : `CompilerVersion=14.38.33130` épinglé, compilation de contrôle code 0 avec
`D:\Game\VS2022\VC\Tools\MSVC\14.38.33130\...\cl.exe`. Zen commun 5.6.6 (3,96 Go), éditeur 5.8 pas encore lancé.
- **U0-T3 (N1)** : tag local `ue5.5-final` sur `main` ; copie de travail P4 (robocopy, exclusions ; le dossier `D:\Game\LifePlay-master 5.8` existe déjà avec un `.mcp.json` utilisateur — serveur Epic « Unreal MCP » `http://localhost:8000/mcp` — à **conserver** : exclure `.mcp.json` de la copie, ne pas écraser, vérifier qu'il reste ignoré par git) ; branche `ue5.8` ; dépôt des modules recopié ; contrôle `git status` propre.