- 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>
20 KiB
| name | overview | todos | isProject | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Migration UE 5.5 → UE 5.8 (U) | 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). |
|
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.mdet 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 storeFalsependant la migration ; D3 retirer 16 commandlets de portage (garderLPResavePackages,LPTestStringCompat) ; D4/D7 McpAutomationBridge désactivé pour V2.0, MCP Epic évalué hors chemin critique ; D5 référenceLifePlay_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 horsHeavy; D13 Fab/BridgeOptional. D2 après le test T4 (U7) ; D11, D12 en U3. Portes intermédiaires ajoutées : G-U3 (0 erreur,LPTestStringCompatvert) 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 ; livrableetat/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.33130dans 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\Zenavant le premier lancement de l'éditeur 5.8 (UA-OUTILS, recommandation 1) ; livrableetat/U58/U0/U0-VS2026.md. Résultat U0-T2/T2b (2026-10-08) : VS 2026 18.10 installe le dossierMSVC\14.50.35717dont lecl.exeest en 14.50.35739 ; UBT 5.8 teste le bannissement sur la version ducl.exe(MicrosoftPlatformSDK.cs:1156,:1416), donc ce toolset n'est pas banni ;CompilerVersionest 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 avecD:\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-finalsurmain; copie de travail P4 (robocopy, exclusions ; le dossierD:\Game\LifePlay-master 5.8existe déjà avec un.mcp.jsonutilisateur — serveur Epic « Unreal MCP »http://localhost:8000/mcp— à conserver : exclure.mcp.jsonde la copie, ne pas écraser, vérifier qu'il reste ignoré par git) ; brancheue5.8; dépôt des modules recopié ; contrôlegit statuspropre. - 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.5dansTools/, 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 ;
ConfigetToolssans référence 4.27 ; - un seul point de configuration du moteur (
Tools/Engine.ps1lu 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)
EngineAssociation5.8, régénération des fichiers de projet, compilationLifePlayEditor; 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,LPAnimCorecompilés 5.8 ;McpAutomationBridgeselon P7 ;- addon
LifePlay-Sandbox: brancheue5.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,
LPResavePackagessur toutContent, 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
LPTestStringCompatet 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.mdet 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
- Le jeu 5.8 compile (éditeur, Development, Shipping) sans l'addon et avec.
- Chargement et cuisson sans erreur ; villes et Blueprints identiques en données à la référence 5.5.
- Comportement en jeu équivalent au build 5.5 (A/B, contrôle visuel), réglages vidéo fonctionnels.
- Mods : contrat inchangé, 3 mods recuits chargés, mods 5.5 signalés par l'avertissement de version.
- Plus aucun outil, critère ni réglage fondé sur 4.27 ; chemin moteur à un seul endroit.
- 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 →
LPTestStringCompatrejoué en U3. - Toolchain : 5.8 peut exiger un MSVC plus récent que 14.44 → U0-T2.