LifePlay-Revival/Docs/Migration/etat/U58/UA/UA-ESSAI.md
edujiro5972 8084622450 LifePlay UE 5.8 : état de développement au 2026-10-19
Tickets : REP1-T4

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 22:57:42 +02:00

7.5 KiB

UA-ESSAI : essai de compilation UE 5.8 sur copie jetable

Fiche UA-T5 — Niveau N1 — Modèle prévu sonnet | utilisé sonnet

Statut : essais A, A1, A2 et B refaits sur moteur 5.8.3 COMPLET (Fab et Bridge présents). La section finale « moteur incomplet » est conservée, marquée NON PROBANTE.

1. Environnement (établi)

  • Moteur : UE 5.8.3, D:\Game\Launcher\Engine\UE_5.8. DotNet embarqué 10.0 win-x64.
  • Toolchain retenue par UBT (A1, A2, B ; ligne du log) : Using Visual Studio 14.50.35739 toolchain (C:\Program Files\Microsoft Visual Studio\18\Community\VC\Tools\MSVC\14.50.35717) and Windows 10.0.22621.0 SDK. Aucun réglage forcé. (Sur le moteur incomplet, UBT avait choisi VS2022 14.44.35207, D:\Game\VS2022.)
  • Commande (identique pour tous) : & 'D:\Game\Launcher\Engine\UE_5.8\Engine\Build\BatchFiles\Build.bat' LifePlayEditor Win64 Development -Project='D:\Game\U58-essai\LifePlay\LifePlay.uproject' -WaitMutex -NoHotReload *> essai-X.log
  • Avant la reprise, Intermediate et Binaries de la copie ont été supprimés (dans la copie seulement).

2. Modifications de la copie D:\Game\U58-essai

  • LifePlay.uproject : EngineAssociation = "5.8" (seule différence avec le projet réel ; les Optional ajoutés à Fab/Bridge ont été retirés). L'entrée McpAutomationBridge (déjà Optional: true à l'origine) n'a PAS été passée à Enabled: false en B : le plugin absent du disque est simplement ignoré (écart à la consigne, sans effet constaté).
  • Source/LifePlay.Target.cs et Source/LifePlayEditor.Target.cs : A = d'origine (V5 / Unreal5_5) ; A1 = + bOverrideBuildEnvironment = true; ; A2 et B = DefaultBuildSettings = BuildSettingsVersion.Latest, IncludeOrderVersion = EngineIncludeOrderVersion.Latest, sans override.
  • B : Plugins\McpAutomationBridge déplacé vers D:\Game\U58-essai\_ecarte\.
  • Aucune correction de code C++. Aucun fichier modifié hors de la copie (hors ce livrable).

3. Résultats par passage

Passage Code de sortie Durée UBT Erreurs C++ Avertissements C4996 Actions
A (d'origine) 6 9,9 s 0 (échec de règle de cible, avant compilation) 0 (16 lignes [Upgrade]/CS0618) 0
A1 (override) 6 1588,5 s (26,5 min) 5 lignes (2 causes) 9 120 compilations lancées sur 143
A2 (Latest) 6 1528,1 s (25,5 min) 5 lignes (mêmes) 9 (mêmes) 109 sur 132
B (A2 sans Mcp) 6 292,7 s (4,9 min) 5 lignes (mêmes) 7 71 sur 132

Cohérence : code de sortie 6 avec 5 lignes d'erreur (1 C2039, 2 C2143, 1 C2530, 1 C2664) ; le log A n'a aucune erreur de compilation mais l'erreur de cible ci-dessous.

Arrêt : UBT n'est PAS limité au premier module en échec (A1 et A2 compilent des dizaines de modules après l'échec), mais il abandonne les actions restantes après l'échec ; les actions non lancées (23 en A1, 23 en A2, davantage en B) ne sont pas mesurées. En B, LifePlayEditorTools et LPModTools n'ont pas été atteints : d'où 2 avertissements de moins, pas un effet de Mcp.

A : blocage de cible (établi, confirmé sur moteur complet)

LifePlayEditor modifies the values of properties: [ UndefinedIdentifierWarningLevel: Off != Error, UnreachableCodeWarningLevel: Off != Error, ReturnTypeWarningLevel: Off != Error, DanglingWarningLevel: Off != Error ]. This is not allowed, as LifePlayEditor has build products in common with UnrealEditor. Cause : V5 dans LifePlayEditor.Target.cs. A1 (override) et A2 (Latest) passent la règle.

Erreurs (identiques A1, A2, B ; dédupliquées)

Cause Fichier:ligne Module Extrait Prévu UA
UAnimSequence::GetCompressedTrackToSkeletonMapTable supprimée (C2039 ; C2530 et 2 x C2143 en cascade) Plugins/LPAnimCore/Source/LPAnimCore/LPCoupleSimCore.cpp:127 LPAnimCore 'GetCompressedTrackToSkeletonMapTable' n'est pas membre de 'UAnimSequence' non (la prévision portait sur GetBoneTransform :155)
TMap<FString,...>::Contains avec clé du nouveau type UE::JSON::Private::FJsonObjectSharedStringStorage::FStringType (C2664) Plugins/ModdingExtra/Source/ModdingExtra/Private/LPDataCache.cpp:198 ModdingExtra impossible de convertir l'argument 1 de 'const T' en 'const FString &' non (imprévu)

Avertissements C4996 (9 en A1/A2, 7 en B ; dédupliqués)

API dépréciée Fichier:ligne Module Prévu UA
UMeshComponent::GetMaterialRelevance(ERHIFeatureLevel) -> EShaderPlatform StreetMap/Source/StreetMapRuntime/StreetMapSceneProxy.cpp:21 StreetMapRuntime oui
IDetailLayoutBuilder::GetDetailsView -> GetDetailsViewSharedPtr StreetMapImporting/StreetMapComponentDetails.cpp:36, 51 StreetMapImporting non
FSlateFontInfo ctor -> FCompositeFont StreetMapComponentDetails.cpp:157, 165, 173 StreetMapImporting non
UStaticMesh::ImportVersion accès direct StreetMapComponentDetails.cpp:299 StreetMapImporting non
GetObjectsWithPackage(bool) -> EGetObjectsFlags Source/LifePlayEditorTools/LPDumpAssetsCommandlet.cpp:110 LifePlayEditorTools non (absent en B, module non atteint)
FStaticToSkeletalMeshConverter::InitializeSkeletalMeshFromMeshDescriptions -> FInitializationParams LifePlay-Sandbox/.../LPModTools/LPHairFromStaticMeshCommandlet.cpp:430 LPModTools (LPSandbox) non (absent en B, module non atteint)

Effets

  • A1 (API seule) : 2 causes d'erreur (5 lignes), 9 avertissements.
  • A2 moins A1 (réglages stricts 5.8) : aucun écart détecté ; les niveaux ReturnType, Unreachable, UndefinedIdentifier, Dangling n'ont rien produit sur les modules compilés (modules non atteints non mesurés, donc non exclu).
  • B moins A2 (part de McpAutomationBridge) : aucune erreur ni avertissement imputable à Mcp, qui compile sans erreur sous 5.8 (55 actions Mcp en A2 ; durée 25,5 -> 4,9 min). Fab et Bridge actifs sans erreur de plugin.

4. Confrontation aux prévisions

  • Fab et Bridge absents de 5.8 : INFIRMÉ (présents, chargés sans erreur).
  • GetBoneTransform(..., double Time, ...) à LPCoupleSimCore.cpp:155 / LPPoseMeasure.cpp ~1283 : NON CONFIRMÉ. Aucune erreur à la ligne 155 ni dans LPAnimMeasure (Module.LPAnimMeasure.cpp compilé sans erreur). Incertain pour :155 : le fichier échoue à la ligne 127 et une erreur de syntaxe peut masquer d'autres erreurs de la même unité.
  • Dépréciation GetMaterialRelevance (StreetMap) : CONFIRMÉ (C4996, ligne 21).
  • Imprévus : blocage de cible V5 ; GetCompressedTrackToSkeletonMapTable (LPCoupleSimCore:127) ; LPDataCache.cpp:198 ; 7 autres C4996.

5. Établi / estimé / incertain

  • Établi : tout ce qui précède pour les modules compilés.
  • Estimé : après correction des 2 causes, d'autres erreurs peuvent apparaître dans LPCoupleSimCore.cpp (ligne 155) et dans les modules non atteints.
  • Incertain : bilan complet des avertissements (modules non atteints) ; effet réel des niveaux stricts.

6. Logs (D:\Game\U58-essai)

essai-A.log/.rc, essai-A1.log/.rc, essai-A2.log/.rc, essai-B.log/.rc. Anciens logs (moteur incomplet) : essai-A-incomplet.log/.rc, essai-A1-incomplet.log/.rc, essai-A2-incomplet.log (interrompu), essai-A1-void.log/.rc (passage nul : édition Target.cs échouée).


Section « moteur incomplet » — NON PROBANTE

Résultats obtenus alors que l'installation 5.8 n'était pas terminée (toolchain VS2022 14.44, Fab/Bridge alors considérés absents). A : même blocage de cible. A1 : mêmes 5 lignes d'erreur et 9 avertissements en 2110 s. A2 : interrompu à 45/143 actions. Conservés pour trace seulement.