- Docs/Migration/etat/ ignore et retire du suivi (92 fichiers, restes sur le disque, copie dans LifePlay_Backup_5.5/etat) - .cursor/ ignore - 28_Synthese_Migration_UE58.md : synthese autonome de l'audit UA, de la porte G-U et du lot SK - DefaultEngine.ini : CompilerVersion=14.38.33130 (VS 2026 en coexistence), compilation de controle 5.5 code 0 - plan 27 : resultat U0-T2/T2b (toolset 5.8 14.50.35717 non banni) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
227 lines
20 KiB
Markdown
227 lines
20 KiB
Markdown
---
|
||
name: Migration UE 5.5 → UE 5.8 (U)
|
||
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).
|
||
todos:
|
||
- id: lot-ua
|
||
content: Lot UA — Audit avant départ (jeu, plugins, mods, moteur ; essai de compilation 5.8 ; effort et risques)
|
||
status: pending
|
||
- id: gate-gu
|
||
content: Porte G-U — go / no-go de l'utilisateur sur la base de l'audit (aucun portage avant)
|
||
status: pending
|
||
- id: lot-u0
|
||
content: Lot U0 — Préparation (moteur 5.8, chaîne de compilation, copie de travail, décisions)
|
||
status: pending
|
||
- id: lot-u1
|
||
content: Lot U1 — Cartographie (notes de mise à niveau 5.6/5.7/5.8, API, plugins, outils, reliquats 4.27)
|
||
status: pending
|
||
- id: lot-u2
|
||
content: Lot U2 — Retrait de l'outillage 4.27 et paramétrage du chemin moteur
|
||
status: pending
|
||
- id: lot-u3
|
||
content: Lot U3 — Bascule moteur et compilation (jeu, outils, plugins du dépôt)
|
||
status: pending
|
||
- id: lot-u4
|
||
content: Lot U4 — Plugins tiers et addon (StreetMap, McpAutomationBridge, LifePlay-Sandbox)
|
||
status: pending
|
||
- id: lot-u5
|
||
content: Lot U5 — Contenu (réenregistrement des paquets, avertissements, villes, Blueprints)
|
||
status: pending
|
||
- id: lot-u6
|
||
content: Lot U6 — Comportement en jeu (build Development, A/B contre le build 5.5, contrôle visuel)
|
||
status: pending
|
||
- id: lot-u7
|
||
content: Lot U7 — Mods (contrat figé ; nouvelle version de référence ; mods recuits)
|
||
status: pending
|
||
- id: lot-u8
|
||
content: Lot U8 — Shipping, publication, évaluation
|
||
status: pending
|
||
- id: lot-u9
|
||
content: Lot U9 — Voie alternative UE5 native pour les correctifs de sémantique UE4 (préparée, non activée)
|
||
status: pending
|
||
isProject: false
|
||
---
|
||
|
||
# 27. Plan de migration UE 5.5 → UE 5.8 (2026-10-08)
|
||
|
||
## Contexte
|
||
|
||
UE 5.8 est la dernière version majeure prévue d'UE5 avant UE6 (premières préversions annoncées vers fin 2027) ; Epic
|
||
présente 5.8 comme une version de stabilisation et d'optimisation (Lumen Lite, MegaLights en production, Chaos Hair /
|
||
Cloth / Flesh). Le jeu a été porté de 4.27 à 5.5 (V1 à V1.5, lots L0–L7, O, H, AP, SB, DC, VQ). La migration 5.8
|
||
s'appuie sur ce qui est validé en 5.5 ; la comparaison avec 4.27 n'est plus un critère.
|
||
|
||
État de départ (2026-10-08) : moteurs installés `UE_4.27`, `UE_5.5` (pas de 5.8) ; MSVC 14.38 et 14.44 ; projet
|
||
`LifePlay.uproject` (EngineAssociation 5.5) ; plugins du dépôt `LPAnimCore`, `ModdingExtra`, `StreetMap`,
|
||
`McpAutomationBridge` (outil, gitignoré) ; addon privé `D:\Game\LifePlay-Sandbox` (LPSandbox, LPAnimMeasure,
|
||
LPModTools, atelier de mods) ; modules de jeu dans `Content/Modules/.git` (dépôt local) ; taille hors
|
||
Intermediate/Saved ≈ 14 Go ; 2,4 To libres sur D:.
|
||
|
||
## Décisions verrouillées (utilisateur, 2026-10-08)
|
||
|
||
| Décision | Choix |
|
||
|---|---|
|
||
| Cible | UE 5.8 |
|
||
| 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 |
|
||
| Correctifs de sémantique UE4 (P2) | **gardés pour le moment** ; une voie alternative UE5 native est **préparée** (lot U9), sans être activée |
|
||
| Commandlets du portage 4.27 (P3) | **retirés** (`LPTestStringCompat` gardé comme test) |
|
||
| Copie de travail (P4) | dossier séparé `D:\Game\LifePlay-master 5.8`, branche `ue5.8` |
|
||
| Version (P5) | **V2.0**, `LifePlay 2026.10.2.0` |
|
||
| 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`) |
|
||
|
||
## Décisions proposées (P2 à P5 tranchées le 2026-10-08, voir ci-dessus ; P1, P6, P7 à confirmer en U0)
|
||
|
||
| # | Proposition | Motif |
|
||
|---|---|---|
|
||
| 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 |
|
||
| P5 | Version : `LifePlay 2026.10.2.0` (majeur 2 = UE 5.8), publication « V2.0 » | changement de moteur = mods recuits obligatoirement |
|
||
| P6 | Le moteur 4.27 et le projet `LifePlay-master 4.27` sont archivés puis peuvent être désinstallés par l'utilisateur après U6 | abandon 4.27 |
|
||
| P7 | `McpAutomationBridge` : désactivé tant qu'aucune version 5.8 n'existe (plugin `Optional`) | outil de développement |
|
||
|
||
## Conséquence pour les mods (contrat figé)
|
||
|
||
Un paquet cuit pour 5.5 ne se charge pas dans un jeu 5.8 (format des paquets et versions d'objets). Le contrat reste
|
||
le même, mais **chaque mod d'assets doit être recuit** contre la nouvelle version de référence `Releases/2026.10.2.0`
|
||
(`lpr_hair_pocolov`, `lpr_anim_quaternius`, `lpr_anim_freeanims`) ; les mods texte (`Content/Modules`) ne changent pas.
|
||
L'avertissement de version du gestionnaire signale déjà un mod cuit pour une autre version.
|
||
|
||
## Orchestration et niveaux de modèles (règle utilisateur du 2026-10-08)
|
||
|
||
**Opus en effort high est l'orchestrateur principal** (découpage, évaluation de complexité, fiches, vérification,
|
||
communication). Il délègue vers le bas les tâches simples et **vers le haut les plus lourdes, jusqu'à Fable**.
|
||
|
||
| Niveau | Modèle (agent) | Note de complexité | Profil |
|
||
|---|---|---|---|
|
||
| N0 | Haiku (`haiku`) | 0–2 | compilation + journal, copies, inventaires en lecture seule |
|
||
| N1 | Sonnet (`sonnet`) | 3–4 | outillage spécifié, retraits mécaniques, docs, commits, VAL bornées, A/B de journaux |
|
||
| N2 | Opus high (orchestrateur, session principale) | 5–6 | fiches, arbitrages courants, vérification, code moyen ; pas de build |
|
||
| N3 | Opus xhigh (`opus-xhigh`) | 7–8 | portage d'API, refactor multi-fichiers, diagnostic sur graphe d'appels, audit d'un sous-système |
|
||
| N4 | Opus max (`opus-max`) | 9–10 | portage transversal, diagnostic sans piste, synthèse sur de nombreuses sources ; échec de N3 |
|
||
| N5 | Fable (`fable-top`) | 11–12 | enjeu maximal ou échec de N4 |
|
||
|
||
**Grille de complexité** (chaque critère de 0 à 2, total 0–12) : (a) étendue, (b) couplage (graphe d'appels, Blueprints,
|
||
données partagées), (c) incertitude, (d) coût d'erreur / réversibilité, (e) difficulté de vérification, (f) jugement
|
||
requis. Ajustement d'un niveau seulement avec motif écrit ; escalade d'un niveau sur échec ou réponse incertaine.
|
||
|
||
**Fiche obligatoire (9 rubriques)** : objectif ; note de complexité et niveau ; contexte minimal ; entrées / commandes
|
||
exactes ; pièges ; interdits ; livrable (établi / estimé / incertain) ; critère d'acceptation ; conditions d'arrêt et
|
||
d'escalade. Détail : mémoire `feedback-subagents-by-task`.
|
||
|
||
Pièges : mémoire `lifeplay-build-pitfalls` ; mesures en build empaqueté Development seulement ; tests d'empaquetage
|
||
avec nouvelle partie (liste des villes) et Continuer ; une preuve par l'échec n'est jamais confiée à N0.
|
||
|
||
## Lots et fiches
|
||
|
||
### UA — Audit avant départ (aucun fichier du projet modifié)
|
||
|
||
But : une vision claire des impacts, de l'effort et des risques **avant** toute action de portage. Livrables sous
|
||
`etat/U58/UA/`. Les tâches T1 à T4 sont indépendantes (parallèles) ; T5 exige UE 5.8 installé ; T7 (outils annexes) est indépendante ; T6 les consomme toutes.
|
||
|
||
| Fiche | Objet | Note a–f (total) | Niveau | Livrable |
|
||
|---|---|---|---|---|
|
||
| UA-T1 | **Jeu** : modules C++ (`LifePlay`, `LifePlayEditorTools`), sous-systèmes, API moteur utilisées (inventaire par module UE : includes, classes, fonctions), volume Blueprints (nombre, taille, nœuds natifs appelés), configuration (`Config/*.ini` : rendu, empaquetage, IoStore, scalabilité), cibles de build | 1-1-0-0-1-0 (3) | N1 | `UA-JEU.md` |
|
||
| UA-T2 | **Plugins** : `StreetMap` (origine, version, API utilisées, maintenance), `ModdingExtra`, `LPAnimCore`, `McpAutomationBridge`, plugins moteur activés par le `.uproject`, addon `LifePlay-Sandbox` (`LPSandbox`, `LPAnimMeasure`, `LPModTools`) ; compatibilité 5.8 connue | 1-1-2-0-1-1 (6) +1 recherche externe | N3 | `UA-PLUGINS.md` |
|
||
| 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` |
|
||
|
||
Vérification de chaque livrable par l'orchestrateur (preuves, cohérence entre T1–T5 et T7, distinction établi / estimé).
|
||
|
||
### Porte G-U — Go / no-go (utilisateur)
|
||
- Entrée : `UA-SYNTHESE.md` et les cinq rapports. Sortie : go (U0 démarre), go partiel (lots reportés), ou no-go
|
||
(le jeu reste en 5.5). **Aucun lot U0–U9 ne démarre avant cette porte.**
|
||
- **Décision (utilisateur, 2026-10-08) : GO séquencé U0–U8, U9 différé après V2.0**, avec les recommandations de
|
||
`UA-SYNTHESE.md` § 5 : D1 Zen store `False` pendant la migration ; D3 retirer 16 commandlets de portage (garder
|
||
`LPResavePackages`, `LPTestStringCompat`) ; D4/D7 McpAutomationBridge désactivé pour V2.0, MCP Epic évalué hors
|
||
chemin critique ; D5 référence `LifePlay_Build_5.5_DC4` + V1.5 ; D6 4.27 archivé après V2.0 ; D8 Blueprint Reader
|
||
activé en 5.5 (Editor, non commité) ; D9 U9 après V2.0 ; D10 réenregistrement hors `Heavy` ; D13 Fab/Bridge
|
||
`Optional`. D2 après le test T4 (U7) ; D11, D12 en U3. Portes intermédiaires ajoutées : **G-U3** (0 erreur,
|
||
`LPTestStringCompat` vert) et **G-U6** (A/B + contrôle visuel). Préalable demandé par l'utilisateur : **lot SK**
|
||
(arbre de compétences des sous-agents) avant U0.
|
||
|
||
### U0 — Préparation (Orch + utilisateur)
|
||
- **U0-T1 (utilisateur)** : installer UE 5.8 par l'Epic Games Launcher dans `D:\Game\Launcher\Engine\UE_5.8`.
|
||
- **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.
|
||
- **U0-T4 (N2, orchestrateur + utilisateur)** : décisions P1–P7 validées par l'utilisateur → section « verrouillées ».
|
||
|
||
### U1 — Cartographie détaillée (N1 ; N3 pour un point que l'audit UA laisse ouvert) — complète UA, fichier par fichier
|
||
- notes de mise à niveau officielles 5.6, 5.7, 5.8 (API C++ dépréciées / retirées, modules renommés, réglages de projet,
|
||
empaquetage, IoStore, Substrate, Lumen/MegaLights par défaut) croisées avec nos sources (`Source/`, `Plugins/`, addon) ;
|
||
- état de chaque plugin (`StreetMap` : origine et compatibilité 5.8 ; `ModdingExtra`, `LPAnimCore` ; addon) ;
|
||
- reliquats 4.27 (29 docs, `Config/DefaultEngine.ini`, `Tools/AssetHeaders.ps1`, commandlets P3) ;
|
||
- chemins moteur codés en dur (`UE_5.5` dans `Tools/`, lanceurs `.bat`, mémoire) ;
|
||
- livrable `etat/U58/U1/U1-CART.md` ; handoff → U2/U3.
|
||
|
||
### U2 — Retrait 4.27 et chemin moteur (N1)
|
||
- retrait des commandlets P3 et de leurs entrées Build.cs ; `Config` et `Tools` sans référence 4.27 ;
|
||
- un seul point de configuration du moteur (`Tools/Engine.ps1` lu par tous les scripts et lanceurs) ;
|
||
- docs : bandeau « historique 4.27 » sur les docs concernés (pas de réécriture du passé) ;
|
||
- compilation 5.5 inchangée (A-BUILD haiku) avant bascule.
|
||
|
||
### U3 — Bascule moteur et compilation (N3 pour les correctifs, N4 en cas de blocage ; N0 pour les compilations)
|
||
- `EngineAssociation` 5.8, régénération des fichiers de projet, compilation `LifePlayEditor` ; boucle erreurs →
|
||
correctifs (opus) → compilation (haiku) ; cible : 0 erreur, avertissements de dépréciation listés.
|
||
|
||
### U4 — Plugins tiers et addon (N3 + N1)
|
||
- `StreetMap`, `ModdingExtra`, `LPAnimCore` compilés 5.8 ; `McpAutomationBridge` selon P7 ;
|
||
- addon `LifePlay-Sandbox` : branche `ue5.8`, compilation, tournée Mesure (non-régression des JSON/CSV contre la
|
||
référence 5.5, comme SB2-T5).
|
||
|
||
### U5 — Contenu (N1 + N0)
|
||
- ouverture du projet, `LPResavePackages` sur tout `Content`, journal de chargement sans erreur ; cuisson sans
|
||
avertissement ; `LPCheckStreetMap` (280 villes) ; relevé des nœuds Blueprint dépréciés et correctifs.
|
||
|
||
### U6 — Comportement en jeu (N1 + utilisateur ; N3 pour un écart inexpliqué)
|
||
- build empaqueté Development 5.8 ; A/B contre le build 5.5 sur le même parcours (nouvelle partie + Continuer,
|
||
`LogStats`) ; réglages vidéo (VQ) revus pour 5.8 ; contrôle visuel utilisateur ; registre des erreurs mis à jour.
|
||
|
||
### U7 — Mods (N1 + utilisateur ; N3 si une surface du contrat bouge)
|
||
- version de référence `Releases/2026.10.2.0` ; recuisson des 3 mods d'assets dans l'atelier (addon) ; contrôle que
|
||
le contrat est inchangé (structure, `.lpmod`, gestionnaire, avertissement de version) ; essai en jeu.
|
||
|
||
### U8 — Shipping, publication, évaluation (N1 + N2)
|
||
- build Shipping, archives (règles de publication), README ; évaluation multi-agents (modèle prévu / utilisé) ;
|
||
porte de publication (utilisateur).
|
||
|
||
### U9 — Voie alternative UE5 native (N3 + N1), en parallèle de U5–U6
|
||
- pour chaque correctif (`LPStringCompat` : ParseIntoArray, Find / Contains / Split ; `LPMeshCompat` ;
|
||
`LPNavigationHelpers` ; padding des boutons) : inventaire des Blueprints appelants et des cas où les sémantiques UE4
|
||
et UE5 divergent ;
|
||
- interrupteur par correctif (réglage de configuration, défaut = sémantique UE4 comme aujourd'hui) qui bascule
|
||
l'implémentation vers l'appel UE5 natif, sans toucher aux Blueprints ;
|
||
- banc de comparaison (étendre `LPTestStringCompat` et les relevés `-LPVerify*`) : mêmes entrées, sorties UE4 / UE5,
|
||
liste des écarts et de leurs effets en jeu ;
|
||
- livrable `etat/U58/U9/U9-CART.md` et interrupteurs compilés, désactivés ; la bascule effective (et un éventuel
|
||
nettoyage des Blueprints) reste une décision utilisateur ultérieure.
|
||
|
||
## Critères d'acceptation globaux
|
||
|
||
1. Le jeu 5.8 compile (éditeur, Development, Shipping) sans l'addon et avec.
|
||
2. Chargement et cuisson sans erreur ; villes et Blueprints identiques en données à la référence 5.5.
|
||
3. Comportement en jeu équivalent au build 5.5 (A/B, contrôle visuel), réglages vidéo fonctionnels.
|
||
4. Mods : contrat inchangé, 3 mods recuits chargés, mods 5.5 signalés par l'avertissement de version.
|
||
5. Plus aucun outil, critère ni réglage fondé sur 4.27 ; chemin moteur à un seul endroit.
|
||
6. CHG par lot, commits par phase, rien poussé sans accord.
|
||
|
||
## Risques
|
||
|
||
- Plugin `StreetMap` (tiers) non maintenu pour 5.8 → portage maison (U4).
|
||
- Changements de rendu par défaut (Lumen, MegaLights, Substrate) → écarts visuels à arbitrer (U6, mémoire
|
||
« comparer avant de revenir en arrière »).
|
||
- Sémantique de chaînes ou de conteneurs encore modifiée par 5.6–5.8 → `LPTestStringCompat` rejoué en U3.
|
||
- Toolchain : 5.8 peut exiger un MSVC plus récent que 14.44 → U0-T2.
|