LifePlay-Revival/Docs/Migration/etat/U58/UA/UA-MOTEUR.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

36 KiB
Raw Blame History

UA-MOTEUR — Audit du moteur : installation actuelle et changements UE 5.6 → 5.8

Fiche UA-T4 — Niveau N4 — Modèle prévu opus-max | utilisé fable

Date : 2026-10-08. Racine projet : D:\Game\LifePlay-master 5.5. Lecture seule : aucune installation, aucune compilation, aucun lancement, aucun git d'écriture. Plan de référence : Docs/Migration/27_Plan_Migration_UE58.md (lot UA). Livrables frères : UA-JEU.md (UA-T1).

Conventions : « établi » = lu dans un fichier local ou dans une note officielle citée ; « estimé » = déduit d'un établi ; « incertain » = non vérifié ou source partielle. Chaque ligne de la table (c) cite sa source (URL ou fichier moteur local) et un usage réel du projet (fichier:ligne) ou « sans usage trouvé ».

Sources officielles lues :


(a) État du moteur et de la chaîne actuels — établi

Moteurs présents (D:\Game\Launcher\Engine)

Moteur Engine/Build/Build.version Installé le Remarques
UE_4.27 4.27.2, CL 18319896 — abandonné
UE_5.5 5.5.4, CL 40574608, ++UE5+Release-5.5, build Launcher (IsPromotedBuild=1) 07/09/2026 18:18 moteur du projet
UE_5.8 5.8.3, CL 58210709, ++UE5+Release-5.8, build Launcher 08/10/2026 09:17–09:35 déjà installé (la fiche UA-T4 le supposait absent)

Écart avec l'énoncé de la fiche : UE 5.8.3 est présent (104 Go, 266 479 fichiers, 1 239 DLL dans Engine/Binaries/Win64, UnrealEditor.exe et UnrealEditor-Core.dll présents, Engine/Source/Runtime 10 954 en-têtes, Engine/Extras/Redist présent). Installation datée de ce matin ; non vérifiée par lancement (interdit par la fiche). Le prérequis « UE 5.8 installé » de UA-T5 semble donc satisfait, sous réserve d'un lancement de l'éditeur vide (UA-T5).

Moteur 5.5 : plugins ajoutés, configuration modifiée

  • Aucun dossier Engine/Plugins/Marketplace (ni en 5.5 ni en 5.8) : aucun plugin ajouté au moteur par le Launcher. Fab et Bridge sont livrés en standard dans UE_5.5/Engine/Plugins/ (dossiers de premier niveau) ; MegascansPlugin aussi.
  • Aucun .ini de UE_5.5/Engine/Config modifié après l'installation (tous datés 07/09/2026 18:18).
  • 662 .uplugin en 5.5, 893 en 5.8.

Chaîne de compilation (machine)

Élément Valeur Source
Visual Studio Community 2022 17.14.37628.2, D:\Game\VS2022 vswhere
MSVC installés 14.38.33130 et 14.44.35207 D:\Game\VS2022\VC\Tools\MSVC
Clang (VS) 19.1.5 (VC\Tools\Llvm\x64\bin\clang.exe) clang --version
Windows SDK 10.0.22621.0 et 10.0.26100.0 Windows Kits\10\Include
.NET système SDK 9.0.318 ; runtimes 6.0, 7.0, 8.0, 9.0 dotnet --list-sdks/runtimes
UBT 5.5 net8.0, DotNet 8.0.300 embarqué (Engine/Binaries/ThirdParty/DotNet/8.0.300) UnrealBuildTool.runtimeconfig.json
UBT 5.8 net10.0, rollForward=LatestMajor, DotNet 10.0 embarqué (Engine/Binaries/ThirdParty/DotNet/10.0) idem

Projet (rappel utile à cette fiche ; détail dans UA-JEU)

  • LifePlay.uproject : EngineAssociation "5.5" ; modules LifePlay (Runtime), LifePlayEditorTools (Editor) ; plugins projet LPAnimCore, ModdingExtra, StreetMap, McpAutomationBridge (Editor, Optional), addon LPSandbox via AdditionalPluginDirectories: ../LifePlay-Sandbox/Plugins (Optional) ; 26 plugins moteur activés dont Fab et Bridge non marqués Optional.
  • Source/LifePlay.Target.cs:12-13 et Source/LifePlayEditor.Target.cs:12-13 : BuildSettingsVersion.V5, EngineIncludeOrderVersion.Unreal5_5.
  • Config/DefaultEngine.ini : r.AntiAliasingMethod=2 (TAA), r.DynamicGlobalIlluminationMethod=0, r.ReflectionMethod=2, r.Shadow.Virtual.Enable=0, DefaultGraphicsRHI_DX12 ; pas de clé r.Substrate, pas de section audio.
  • Config/DefaultGame.ini : UsePakFile=True, bUseIoStore=True, bCompressed=True, Shipping, +DirectoriesToAlwaysCook=/Game, DirectoriesToAlwaysStageAsNonUFS=Modules ; pas de clé bUseZenStore (hérite du moteur).
  • Config/DefaultScalability.ini (VQ1) : groupes ShadowQuality, TextureQuality, EffectsQuality, AntiAliasingQuality, niveaux 0–3.

(b) Exigences 5.8 et écart avec la machine

Exigences — établi (source principale : UE_5.8/Engine/Config/Windows/Windows_SDK.json, lu intégralement ; recoupé avec les notes 5.8 § « Platform SDK Upgrades »)

Exigence 5.5 (Windows_SDK.json 5.5) 5.8 (Windows_SDK.json 5.8) Notes officielles 5.8
Visual Studio minimal 2022 17.8 2022 17.8 (MinimumVisualStudio2022Version) ; 2026 18.0 (MinimumVisualStudio2026Version) « Recommended Visual Studio 2026 ; minimum Visual Studio 2022 v17.14 or newer »
MSVC préférés 14.38.33130–14.38.x 14.50.35717+ (VS 2026) puis 14.44.35207+ (VS 2022 17.14) « MSVC recommended 14.50, minimum 14.38 »
MSVC bannis 14.39.x, 14.40.x 14.39.x, 14.40.0–14.43.x, 14.44.0–14.44.35210 (« Template compile error. Resolved with 14.44.35211 »), 14.50.0–14.50.35722 —
MSVC minimal 14.38.33130 14.38.33130 —
Windows SDK principal 22621, min 19041 principal 22621, min 19041 « Default 10.0.26100.0, minimum 10.0.22621.0 » (écart entre le json et la note ; les deux versions sont présentes sur la machine)
Clang (optionnel) min 16.0, préféré 18.1.3 min 18.1.8, préférés 20.1.8+, 19.1.x « LLVM Clang minimum 18.1.8, preferred 20.1.8 »
.NET 8.0 (embarqué) 10.0 (embarqué par UBT) « .NET 10.0 for VS 2026 »
Cible Windows minimale 0x601 (Windows 7) 0xA00 (Windows 10) Notes 5.7 § Windows : « Increased MinimumWindowsX64TargetVersion from 0x601 (Windows 7) to 0xA00 (Windows 10) »
Composants VS suggérés VC 14.38 LTSC, SDK 22621 VC 14.44 LTSC (VS 2022) ou VC 14.50 LTSC (VS 2026), SDK 22621, VC.Llvm.Clang, Component.Unreal.Ide, Component.Unreal.Debugger —

Note 5.7 (§ Core, API Change) : « MSVC v14.50 compiler bundled with Visual Studio 2026 is not currently supported » — levé en 5.8 (14.50.35723+ préféré).

Écart machine → actions — établi sauf mention

  1. MSVC 14.44.35207 est banni par 5.8 (Windows_SDK.json 5.8 : "14.44.0-14.44.35210"). UBT 5.8 marque une telle toolchain en erreur : UE_5.8/Engine/Source/Programs/UnrealBuildTool/Platform/Windows/MicrosoftPlatformSDK.cs:1156-1159 (« UnrealBuildTool has banned the MSVC {Banned} toolchains due to compiler issues… »). À faire par l'utilisateur (hors périmètre de la fiche) : mettre à jour VS 2022 vers une 17.14.x livrant MSVC ≥ 14.44.35211, ou installer VS 2026 (MSVC ≥ 14.50.35723). Estimé : la toolchain 14.38.33130 présente reste acceptée (≥ minimum, non bannie, non préférée) ; d'après la logique de AddVisualCppToolChain (toolchain avec Error écartée au choix), UBT devrait se rabattre sur 14.38 et compiler — à confirmer par UA-T5 (lire la ligne « Using Visual Studio … toolchain » du journal UBT).
  2. Windows SDK : rien à installer (22621 et 26100 présents).
  3. .NET : rien à installer (UBT 5.8 embarque DotNet 10.0 ; rollForward=LatestMajor autorise un runtime système supérieur mais n'en exige pas).
  4. Clang : non requis pour une compilation MSVC ; 19.1.5 présent ≥ 18.1.8 si on l'active un jour.
  5. Cible Windows 10 minimum : aucune action machine ; conséquence produit, voir (c) ligne 5.
  6. BuildSettingsVersion : voir (c) ligne 2 — modification de deux Target.cs obligatoire pour un moteur Launcher (notes 5.7).

(c) Changements 5.6 → 5.8 pertinents, croisés avec le projet

Effort : F = faible (< 1 h, une édition), M = moyen (½ journée, recompilation et test), É = élevé (lot dédié). Probabilité/impact en (e).

# Changement Version Source Usage chez nous (fichier:ligne) Effet probable Effort Statut
1 MSVC 14.44.35207 banni ; 14.44.35211+ ou 14.50.35723+ préférés 5.8 UE_5.8/Engine/Config/Windows/Windows_SDK.json ; notes 5.8 « Preferred MSVC is bumped to 14.50 (UBT) » Chaîne machine (VC\Tools\MSVC\14.44.35207) Erreur UBT sur cette toolchain ; repli probable sur 14.38 (estimé) ; sinon blocage action utilisateur (mise à jour VS) établi
2 BuildSettingsVersion : V6 (5.7) puis V7 (5.8). Notes 5.7 § Dev Tools : « For Launcher & Installed Engine Builds: For each *Target.cs file in your project, update the build settings to V6 … you'll see a prompt identifying which *Target.cs file must be updated ». V6 = bStrictInlineConformance=true, UndefinedIdentifierWarningLevel=Error ; V7 = ReturnType, Dangling, UnreachableCode → Error 5.7, 5.8 notes 5.7 ; UE_5.8/Engine/Source/Programs/UnrealBuildTool/Configuration/Rules/TargetRules.cs:123-186 Source/LifePlay.Target.cs:12, Source/LifePlayEditor.Target.cs:12 (V5) Invite au démarrage / refus tant que V5 ; passage à V6 ou V7 transforme des avertissements en erreurs dans nos 5 modules (118 + 130 fichiers) et dans StreetMap/McpAutomationBridge F (édition) + M (corrections révélées, mesurées par UA-T5) établi
3 EngineIncludeOrderVersion : Unreal5_5 toujours accepté (seuls 5_1 et 5_2 sont [Obsolete]) ; Latest = Unreal5_8 5.8 TargetRules.cs:188-210 (5.8) Target.cs:13 (×2) Aucun pour le premier essai ; passer à 5_8 plus tard peut révéler des includes implicites manquants F établi
4 Plugins Fab et Bridge absents du moteur 5.8 (retirés de Engine/Plugins ; en 5.8 « Fab » n'apparaît que comme canal de distribution) 5.6–5.8 (date de retrait non datée par les notes) listing local UE_5.5/Engine/Plugins vs UE_5.8/Engine/Plugins ; notes 5.8 (Fab = marketplace) LifePlay.uproject : entrées "Name": "Fab" et "Name": "Bridge" sans Optional ; McpAutomationBridge.uplugin les référence avec Optional: true ; DefaultGame.ini +DirectoriesToNeverCook=/Bridge, /Fab (inoffensif) UBT : UEBuildTarget.cs:5886 « Unable to find plugin '{0}' (referenced via {1}). Install it and try again, or remove it from the required plugin list. » → échec de build/ouverture tant que le .uproject les exige F (retirer ou Optional:true) établi
5 Cible Windows minimale Windows 10 (MinimumWindowsX64TargetVersion 0x601 → 0xA00) 5.7 notes 5.7 § Windows ; Windows_SDK.json 5.8 sans usage code ; concerne le jeu livré Joueurs Windows 7/8 exclus ; prérequis d'installation inchangés sinon — établi
6 Audio Windows : backend par défaut XAudio2 → WASAPI 5.8 (WASAPI introduit en 5.6) notes 5.8 (« default backend changes from XAudio2 to WASAPI ; opt-out AudioMixerModuleName=AudioMixerXAudio2 in WindowsEngine.ini ») ; UE_5.8/Engine/Config/Windows/WindowsEngine.ini AudioMixerModuleName=AudioMixerWasapi (5.5 : AudioMixerXAudio2) sans usage code (aucune clé audio dans Config/) ; les Blueprints jouent des sons (hors périmètre) Changement de pile audio à l'exécution ; comportement « identique » selon les notes 5.6 ; à écouter en jeu F (clé d'opt-out si régression) établi
7 Zen Store par défaut pour la sortie de cuisson : bUseZenStore=True 5.6 (production ready), 5.8 (défaut) UE_5.8/Engine/Config/BaseGame.ini:95 bUseZenStore=True (5.5 : :93 False) ; notes 5.8 « Zenserver as Cooked Output Store now enabled by default… Pak/IoStore staging remains available and supported » Config/DefaultGame.ini [/Script/UnrealEd.ProjectPackagingSettings] : clé absente → hérite de True La cuisson lance zenserver et y range la sortie ; le staging pak/IoStore reste ; la chaîne de cuisson DLC des mods (UA-T3) et les scripts de l'atelier doivent être rejoués ; ports/processus Zen (Zen.AutoLaunch, RemoteNetworkService=GeneratedStaticKey par défaut) M (décision : forcer bUseZenStore=False ou adopter Zen) établi
8 FJsonObject : clés FStringView/UE::FSharedString ; surcharges à clé const ANSICHAR* UE_DEPRECATED(5.8) ; Values n'est plus un TMap<FString,…> sauf UE_JSONOBJECT_LEGACY_STRING_KEYS=1 5.8 UE_5.8/Engine/Source/Runtime/Json/Public/Dom/JsonObject.h:36-53,153-183 ; notes 5.8 (« UE_JSONOBJECT_LEGACY_STRING_KEYS (default 0) can be set to 1 to revert ») Plugins/ModdingExtra/.../LPDataCache.cpp:52,196 (itération ->Values, Pair.Key passé à HasField/SetField) ; Source/LifePlayEditorTools/LPEditWidgetCommandlet.cpp:79-186 ; McpAutomationBridge : 5 987 occurrences FJsonObject, 161 ->Values Erreurs de compilation possibles sur Pair.Key (type changé) ; aucune clé en littéral ANSI chez nous (0 trouvé) donc pas d'avertissement de ce côté ; Mcp : volume élevé mais plugin optionnel, éditeur seulement F–M (LPDataCache, LPEditWidget) ; É si Mcp doit compiler ; parade GlobalDefinitions.Add("UE_JSONOBJECT_LEGACY_STRING_KEYS=1") établi
9 GetMaterialRelevance(ERHIFeatureLevel::Type) déprécié au profit de EShaderPlatform 5.7 notes 5.7 § Materials and Shaders ; UE_5.8/.../Components/MeshComponent.h:127-129 Plugins/StreetMap/Source/StreetMapRuntime/StreetMapSceneProxy.cpp:21 Avertissement de dépréciation (erreur si avertissements fatals) F établi
10 r.TranslucencyLightingVolumeDim → r.TranslucencyLightingVolume.Dim (alias déprécié 5.7 via FAutoConsoleVariableDeprecated) 5.7 UE_5.8/.../Renderer/Private/TranslucentLighting.cpp:3398 ; BaseScalability.ini 5.8 n'emploie plus l'ancien nom Config/DefaultScalability.ini [EffectsQuality@0..3] r.TranslucencyLightingVolumeDim= Toujours appliqué (alias) avec avertissement au journal ; renommer F établi
11 r.PostProcessAAQuality : introuvable dans Engine/Source/Runtime des deux moteurs et absent de BaseScalability.ini 5.5 comme 5.8 déjà en 5.5 grep local 5.5 et 5.8 Config/DefaultScalability.ini [AntiAliasingQuality@0..3] (seule clé du groupe) La clé est probablement déjà sans effet en 5.5 : notre groupe AA ne règle rien ; en 5.8 le groupe de base pilote r.FXAA.Quality, r.TemporalAA.Quality, r.TSR.* F (VQ à revoir) incertain (non trouvé ≠ inexistant ; à confirmer par r.PostProcessAAQuality dans la console)
12 r.MinScreenRadiusForCSMDepth : introuvable dans Source/Runtime 5.5 et 5.8 déjà en 5.5 grep local Config/DefaultEngine.ini [/Script/Engine.RendererSettings] Clé morte, sans effet ; nettoyage optionnel F incertain (même réserve)
13 BaseScalability.ini 5.8 : nouvelles clés héritées dans nos groupes (ShadowQuality : r.MegaLights.*, r.Shadow.Virtual.MarkCoarsePagesLocal ; EffectsQuality : r.Fog.SeparateComposition, r.HeterogeneousVolumes.Allowed ; TextureQuality@0 r.MaxAnisotropy 0→1) 5.6–5.8 diff local BaseScalability.ini 5.5/5.8 Config/DefaultScalability.ini (nos clés redéfinissent les mêmes noms que 5.5 ; r.MaxAnisotropy=0 au niveau 0 prime sur la base) MegaLights inactif (bEnableMegaLights=0 par défaut, RendererSettings.cpp:83 5.8) et VSM désactivé par DefaultEngine.ini : clés sans effet ; r.Fog.SeparateComposition et HeterogeneousVolumes peuvent modifier le rendu des brouillards/volumes aux niveaux 0–1 F (relecture VQ) établi (clés) / estimé (effet visuel)
14 TAA toujours disponible (AAM_TemporalAA), TSR par défaut moteur, SMAA ajouté (r.AntiAliasingMethod=5) 5.7 UE_5.8/.../RendererSettings.h:194-199 ; notes 5.7 (« r.AntiAliasingMethod=5 ») Config/DefaultEngine.ini r.AntiAliasingMethod=2 ; Docs/Migration/25_Video_Quality.md Aucun : TAA conservé ; SMAA = option future pour le scintillement des morphs (L6a) — établi
15 Substrate « production-ready and enabled by default as of UE 5.7 » — mais le cvar r.Substrate reste à 0 par défaut ; « par défaut » = nouveaux projets (modèles Templates/TP_*/Config/DefaultEngine.ini : r.Substrate=True) 5.7 notes 5.7 § Substrate ; UE_5.8/.../RenderCore/Private/RenderUtils.cpp:2069 (r.Substrate, 0) ; UE_5.8/Templates/TP_AEC_BlankBP/Config/DefaultEngine.ini:42 Config/DefaultEngine.ini : pas de r.Substrate Aucun : matériaux hérités conservés — établi
16 Lumen / VSM / MegaLights / Lumen Lite : défauts cvar inchangés pour un projet existant (r.DynamicGlobalIlluminationMethod, r.ReflectionMethod, r.Shadow.Virtual.Enable existent en 5.8 ; Lumen Lite « default for current-generation handheld consoles ») 5.6–5.8 notes 5.8 ; IndirectLightRendering.cpp:93,104, VirtualShadowMapArray.cpp:161 (5.8) Config/DefaultEngine.ini (verrouillage L7c) Aucun tant que les clés restent ; les valeurs de GlobalIlluminationQuality/ReflectionQuality de base ont beaucoup changé (diff local) mais ne s'appliquent pas sans Lumen — établi
17 Navigation : « Deprecated navigation code from UE 5.5 is removed. The navmesh version is bumped to 28 with an automatic upgrade on load » ; 5.7 : « Removed deprecated 5.4 navigation code » ; K2_GetRandomPointInNavigableRadius toujours présent (déprécié 5.1) 5.7, 5.8 notes 5.8, 5.7 ; UE_5.8/.../NavigationSystem.h:516,1485 Source/LifePlay/LPNavigationHelpers.cpp:16 (K2_GetRandomLocationInNavigableRadius, signature identique à {} près) ; LPFixDeprecatedNodesCommandlet ; DefaultEngine.ini RuntimeGeneration=Dynamic, bForceRebuildOnLoad=True Aucun à la compilation ; navmesh reconstruit au chargement de toute façon — établi
18 AssetRegistry : GetAssetByObjectPath(FName) déprécié (étiquette passée de 5.1 à 5.6) ; GetAssetsByClass(FTopLevelAssetPath) inchangé ; 5.8 : cache du registre à indirection, étiquettes en fichiers mappés 5.6, 5.8 UE_5.8/.../IAssetRegistry.h:335,401 ; notes 5.8 § Core Source/LifePlay/LPAssetRegistryHelpers.cpp:19 (surcharge FSoftObjectPath, non dépréciée), :65 Aucun ; format de cache du registre : à surveiller pour les paquets de mods (UA-T3) — établi
19 USkinnedMeshComponent::GetSkeletalMesh_DEPRECATED / propriété SkeletalMesh : toujours présents, dépréciés 5.1 — UE_5.8/.../SkinnedMeshComponent.h:277-278,1196 Source/LifePlay/LPMeshCompat.* (utilise GetSkinnedAsset) Aucun ; le correctif L7a reste valable — établi
20 FTSTicker, FSlateApplication::RegisterInputPreProcessor, IInputProcessor, FSavePackageArgs, FAssetRegistryTagsContext, UAnimSingleNodeInstance, UPoseableMeshComponent, FStreamableManager::LoadSynchronous, UTexture2D::CreateTransient, FEditableTextBoxStyle::Font, FCoreDelegates::OnPreExit/OnExit, IPluginManager::GetEnabledPlugins*, UInputSettings::AddActionMapping : inchangés en 5.8 — en-têtes 5.8 cités en annexe A 40 FTSTicker (LPColorGradeSubsystem.cpp:76,81…), 10 FSlateApplication, 22 FSavePackageArgs, etc. Aucun — établi
21 FCoreDelegates::OnPostEngineInit déprécié ; LexToString(bool) plus strict ; TSharedFromThis sans membre WeakPtr ; FField::Bind/PostLoad/BeginDestroy retirés ; REN_ForceNoResetLoaders déprécié 5.8 notes 5.8 § Core OnPostEngineInit : 0 ; LexToString : Source/LifePlay/LPSessionLogSubsystem.cpp:496 (sur EBuildConfiguration, enum : non concerné) ; Mcp : 2 appels à vérifier ; TSharedFromThis : Mcp ×3 (pas d'AsWeak) Sans usage trouvé côté jeu — établi
22 Sémantique des chaînes : FString::ParseIntoArray toujours sur UE::String::ParseTokens avec IgnoreCase ; Find toujours sur Strnistr ; aucune note 5.6–5.8 ne mentionne de changement de FString::Find/ParseIntoArray ; UKismetStringLibrary::ParseIntoArray/FindSubstring signatures identiques 5.6–5.8 UE_5.8/.../Core/Private/Containers/String.cpp.inl:479,1356-1365 ; KismetStringLibrary.h:342,372 (5.8) Source/LifePlay/LPStringCompat.*, 55 ParseIntoArray, 102 .Contains( Les correctifs CX-B08/CX-B12 restent nécessaires et valides ; rejouer LPTestStringCompatCommandlet en 5.8 pour preuve F (test) établi (code) / incertain (corps non diffé ligne à ligne)
23 Entrées héritées (UInputSettings action/axis) : 5.7 ajoute un drapeau opt-in de dépréciation des noms de mappings ; 5.8 unifie Enhanced Input et CommonInput 5.7, 5.8 notes 5.7 § Gameplay (« bEnabledLegacyMappingDeprecationWarnings »), notes 5.8 § Unified Input Source/LifePlay/LPKeyboardSubsystem.cpp:315, LPDirectControlSubsystem.cpp:162,183 (UInputSettings), DefaultInput.ini Aucun (drapeau non activé) — établi
24 Plugins moteur retirés entre 5.5 et 5.8 : ADOSupport, AnimNext*, AppleVision, Bridge, Fab, Flurry, GizmoEdMode, HierarchyTableBuiltin, MassEntity (→ MassCore), MobileFSR, RigLogicAnimNext, RigLogicMutable, StudioTelemetry, TextureMediaPlayer, TraceDataFilters 5.6–5.8 listing local des .uplugin ; notes 5.8 (« new MassCore module ») Seuls Fab/Bridge sont référencés (ligne 4) ; Mcp référence MassGameplay (présent), StructUtils (présent, Experimental/StructUtils), InterchangeOpenUSD (absent en 5.5, présent en 5.8) Aucun hors ligne 4 — établi
25 BasePluginName.ini déprécié ; « Plugins no longer load ini files from subdirectories » 5.8 notes 5.8 § Core plugins projet : seul Plugins/McpAutomationBridge/Config/FilterPlugin.ini (filtre d'empaquetage, pas une config chargée) ; aucun Config/*.ini dans LPAnimCore, ModdingExtra, StreetMap, addon Sans usage trouvé ; mods en plugins (Mods/) : aucun trouvé dans le dépôt (contrat des mods : UA-T3) — établi
26 IoStore/pak : -SkipEncryption, bDeduplicateChunks, bUsePatchInPlaceLayout, -CookPackageDir= ; « Pak/IoStore staging remains available » ; TextureFormatOodle devient module moteur 5.8 notes 5.8 § Build/Cook Config/DefaultGame.ini (bUseIoStore=True, bCompressed=True, aucune clé Oodle explicite) Aucun changement forcé ; options nouvelles — établi
27 Cuisson dans le processus éditeur dépréciée (« always executed in a separate invocation of the CookCommandlet… remove all support in 5.9 ») 5.7 notes 5.7 § Core sans usage trouvé (cuisson par BuildCookRun, commandlets séparés) Aucun — établi
28 Graph Editor : FVector2D → FVector2f pour les positions Slate (dépréciations), UMG : animations sans UUMGSequencePlayer 5.6 notes 5.6 § UI/UMG commandlets : NodePosX/Y (int32, LPFixAssetRegistryPinsCommandlet.cpp:224…) non concernés ; UUMGSequencePlayer : 0 ; PlayAnimation( chez nous = USkeletalMeshComponent::PlayAnimation (LPDirectControlSubsystem.cpp:975,1002), pas UMG Sans usage trouvé — établi
29 Python (éditeur) : initialisation différée, -ExecutePythonScript force l'activation, FTSTicker exposé 5.6 notes 5.6 § Python PythonScriptPlugin activé (Editor) ; outillage sandbox (pythonscript -FullStdOutLogOutput, mémoire des pièges de build) Scripts de l'atelier à rejouer (UA-T2) F établi
30 Scalability::FQualityLevels : membres identiques (Resolution, ViewDistance, AntiAliasing, Shadow, GlobalIllumination, Reflection, PostProcess, Texture, Effects, Foliage, Shading, Landscape) ; RHIGetTextureMemoryStats : déclaration non retrouvée dans RHI.h 5.5 ni 5.8 (implémentations trouvées dans MetalDynamicRHI.h) — Scalability.h 5.5/5.8 ; grep local Source/LifePlay/LPVideoQualitySubsystem.cpp:38-45,184 Aucun pour FQualityLevels ; RHIGetTextureMemoryStats compile en 5.5 donc déclarée ailleurs (probablement DynamicRHI.h du module RHI) — à confirmer par UA-T5 — établi / incertain
31 5.8 : "config xxxx" console commands retirées en Shipping ; ini.SkipSaveIfPreSaveSucceeded ; MallocBinned3 petit bin 14 Ko 5.8 notes 5.8 § Core TEXT("config chez nous = chemins Saved/Config/Windows/*.ini (LPColorGradeSubsystem.cpp:27, LPKeyboardSubsystem.cpp:37, LPVideoQualitySubsystem.cpp:71, LPAnimRedirect.cpp:10), pas des commandes console Sans usage trouvé — établi
32 GameFeaturePlugins can load from AdditionalPluginDirectories in the .uproject 5.8 notes 5.8 LifePlay.uproject AdditionalPluginDirectories (addon sandbox) Aucun (pas GameFeature) ; confirme la prise en charge du mécanisme — établi

Changements vérifiés sans usage trouvé (cités pour clore la recherche) : QueueSubtitle (5.8), FSoundWaveProxy (5.8), AActor::EditorKeyPressed retiré (5.8), ToggleFeatureLevelPreview (5.8), PLATFORM_TCHAR_IS_4_BYTES (5.8), FSoftObjectPath::SubPathString → FUtf8String (5.6), compact sets bUseCompactSetAsDefault (5.8, désactivé par défaut ; 166 TSet, 227 TMap chez nous non affectés), MetaSound/Niagara/PCG/Landscape/XR/Mass/Mover/GameplayCameras (toutes les « Upgrade Notes » 5.6 et 5.7 lues : aucune ne vise une API utilisée par le projet hormais les lignes 2, 5, 9, 23 ci-dessus).

Vérification structurelle : les 441 en-têtes moteur distincts inclus par Source/, Plugins/{LPAnimCore,ModdingExtra,StreetMap} et LPSandbox existent tous (par nom de fichier) dans UE_5.8/Engine/Source ou Engine/Plugins — aucun en-tête disparu. Les signatures citées en annexe A sont inchangées sauf mention dans la table.


(d) Points à mesurer par l'essai de compilation UA-T5

  1. Toolchain retenue par UBT 5.8 avec 14.44.35207 bannie : lire « Using Visual Studio … (toolchain 14.38.33130 / erreur) » ; si erreur bloquante, c'est le premier résultat à rapporter (action utilisateur : mise à jour VS).
  2. Comportement sans Fab/Bridge : l'essai doit d'abord être fait avec le .uproject intact (attendu : Unable to find plugin 'Fab'), puis avec Optional:true ou retrait, pour documenter les deux.
  3. BuildSettingsVersion : compiler en V5 tel quel (noter l'invite ou le refus), puis en V6 et en V7, et compter les erreurs révélées par UndefinedIdentifierWarningLevel, ReturnType, Dangling, UnreachableCode (par module : LifePlay, LifePlayEditorTools, LPAnimCore, ModdingExtra, StreetMap, LPSandbox, McpAutomationBridge).
  4. FJsonObject : erreurs dans LPDataCache.cpp:52,196 et LPEditWidgetCommandlet.cpp ; nombre d'erreurs dans McpAutomationBridge (plugin optionnel : mesurer aussi l'essai avec Mcp désactivé) ; essai avec UE_JSONOBJECT_LEGACY_STRING_KEYS=1.
  5. Avertissements de dépréciation : GetMaterialRelevance (StreetMapSceneProxy.cpp:21), FEditableTextBoxStyle::Font (LPFixEditableTextBoxFontCommandlet.cpp:63-66), GetSkeletalMesh_DEPRECATED (toujours encadré par PRAGMA_DISABLE_DEPRECATION_WARNINGS ?), et tout UE_DEPRECATED(5.6|5.7|5.8) touché.
  6. RHIGetTextureMemoryStats (LPVideoQualitySubsystem.cpp:43) : vérifier qu'elle se résout en 5.8.
  7. IncludeOrderVersion : compiler en Unreal5_5 puis Unreal5_8 ; compter les erreurs d'includes implicites.
  8. Si l'éditeur est lancé (UA-T5 ou lot U suivant, pas ici) : journal des cvars dépréciées (r.TranslucencyLightingVolumeDim), clés inconnues (r.PostProcessAAQuality, r.MinScreenRadiusForCSMDepth), lancement de zenserver, backend audio choisi, LPTestStringCompatCommandlet.

(e) Risques (probabilité × impact, parade)

# Risque P I Signal Parade
R1 MSVC 14.44.35207 bannie bloque UBT 5.8 moyenne (repli 14.38 probable) élevé (aucune compilation) erreur UBT « banned the MSVC 14.44.0-14.44.35210 » mise à jour VS 2022 17.14.x (MSVC ≥ 14.44.35211) ou VS 2026 ; vérifier dans l'installateur quelle 14.44 est proposée
R2 Fab/Bridge exigés par le .uproject certaine élevé (ouverture/compilation refusée) « Unable to find plugin 'Fab' » Optional:true ou retrait des deux entrées (éditeur seulement, aucun contenu cuit)
R3 V6/V7 révèlent des erreurs (identificateurs non définis, types de retour, références pendantes, code inatteignable) dans 7 modules dont deux tiers (StreetMap, Mcp) élevée moyen (corrections mécaniques) décompte UA-T5 corriger ; WarningLevel.Warning ciblé par module (CppCompileWarningSettings) en repli ; Mcp désactivable
R4 FJsonObject casse LPDataCache (lecture des .lpmod/caches de données = contrat des mods) élevée élevé (chargement des données du jeu) erreurs de type sur Pair.Key adapter 2 boucles ; parade temporaire UE_JSONOBJECT_LEGACY_STRING_KEYS=1 ; tests ERR-026/ERR-027
R5 Zen Store par défaut modifie la chaîne de cuisson (jeu et DLC mods) élevée moyen (temps, scripts à rejouer ; staging pak/IoStore conservé) zenserver lancé, sortie de cuisson absente de Saved/Cooked décision explicite : bUseZenStore=False dans DefaultGame.ini pour isoler la migration, ou adoption dans un lot dédié
R6 Rendu : nouvelles clés de base (r.Fog.SeparateComposition, HeterogeneousVolumes), WASAPI, SMAA disponible moyenne faible–moyen (visuel/audio sans crash) comparaison de captures à cadrage identique (règle « comparer avant de revenir ») relecture VQ ; clé d'opt-out audio ; ne rien changer sans capture de référence 5.5
R7 Sémantique chaînes/conteneurs 5.6–5.8 non documentée dans les notes mais modifiée faible élevé (bugs silencieux type CX-B08) LPTestStringCompatCommandlet ; comparaison String.cpp.inl rejouer la commandlet de test en 5.8 avant tout lot de contenu
R8 Joueurs Windows 7/8 certaine faible (public) — mention dans la note de version 5.8 du jeu
R9 Notes 5.6/5.7 lues par filtrage (voir Limites) : un changement pertinent non capté faible–moyenne moyen erreurs UA-T5 non anticipées UA-T5 est la preuve par l'échec ; compléter la table a posteriori

Limites de lecture (ce qui manque exactement)

  • Notes 5.8 : lues intégralement (4 tranches WebFetch, 357 273 caractères). Les sections « Platform SDK Upgrades » n'y mentionnent ni DirectX 12 minimal ni Shader Model.
  • Notes 5.6 (685 664 caractères) et 5.7 (400 278 caractères) : les pages ne sont pas lisibles par WebFetch (corps vide) ; lues dans le navigateur intégré. Lues en entier : « Platform SDK Upgrades », « Upgrade Notes » (toutes sous-sections), et toutes les lignes contenant les mots-clés listés en annexe B (411 lignes pour 5.6, 264 pour 5.7). Non lues : le reste des listes « New / Bug Fix » hors mots-clés. Les changements de défauts moteur ont donc été établis par les fichiers locaux de 5.8 plutôt que par les notes 5.6/5.7.
  • Aucune compilation ni lancement : les effets « estimés » (repli MSVC 14.38, erreurs V6/V7, RHIGetTextureMemoryStats) attendent UA-T5.
  • Les Blueprints (nœuds dépréciés) ne sont pas audités ici (pas d'ouverture d'.uasset) : aucune note 5.6–5.8 lue ne cite un nœud Blueprint retiré ; seules dépréciations Blueprint citées : FRigControlElement::Settings (Control Rig, 5.8) et BP_Get* Pose Search (5.8), sans usage chez nous.

Annexe A — Signatures vérifiées dans UE_5.8/Engine/Source (établi)

API 5.5 5.8
IAssetRegistry::GetAssetsByClass(FTopLevelAssetPath, TArray<FAssetData>&, bool) IAssetRegistry.h:249 :335 identique
IAssetRegistry::GetAssetByObjectPath(const FName…) :339 UE_DEPRECATED(5.1) :401 UE_DEPRECATED(5.6)
UNavigationSystemV1::K2_GetRandomLocationInNavigableRadius NavigationSystem.h:497 :516 (FilterClass = {})
UNavigationSystemV1::K2_GetRandomPointInNavigableRadius :1492 dép. 5.1 :1485 dép. 5.1
USkinnedMeshComponent::GetSkeletalMesh_DEPRECATED SkinnedMeshComponent.h:1061 :1196
FTSTicker Ticker.h:26 :26
UKismetStringLibrary::ParseIntoArray / FindSubstring KismetStringLibrary.h:375/345 :372/342
FString::ParseIntoArray (ParseTokens, IgnoreCase) / Find (Strnistr) String.cpp.inl:1306-1315 / 438 :1356-1365 / 479
Scalability::GetQualityLevels/SetQualityLevels/LoadState/SaveState Scalability.h:175-204 :175-220 (+ surcharges avec Section)
FEditableTextBoxStyle / FSlateFontInfo Font SlateTypes.h:998/867 :1018/884
FSlateApplication::RegisterInputPreProcessor SlateApplication.h:1482,1490 :1544,1552
FPrimitiveSceneProxy::GetDynamicMeshElements/GetViewRelevance/GetTypeHash PrimitiveSceneProxy.h:440/476/253 :504/542/309
FLocalVertexFactory(ERHIFeatureLevel::Type, const char*) LocalVertexFactory.h:62 :80
UMeshComponent::GetMaterialRelevance(ERHIFeatureLevel::Type) MeshComponent.h:98 :128 UE_DEPRECATED(5.7)
FSavePackageArgs SavePackage.h:60 :62
FAssetRegistryTagsContext AssetRegistryTagsContext.h:97 :97
UAnimSingleNodeInstance, UPoseableMeshComponent présents présents
FStreamableManager::LoadSynchronous/RequestSyncLoad StreamableManager.h:539/527 :800/786
UTexture2D::CreateTransient Texture2D.h:336 :342
FCoreDelegates::OnExit/OnPreExit CoreDelegates.h:220/223 :256/259
IPluginManager::GetEnabledPlugins/GetEnabledPluginsWithContent IPluginManager.h:409/416 :428/435
UInputSettings::AddActionMapping InputSettings.h:207,263 :252,311
EAntiAliasingMethod (None, FXAA, TemporalAA, MSAA, TSR) RendererSettings.h:190-195 :194-199
r.Substrate (défaut 0, ECVF_ReadOnly) RenderUtils.cpp:1773 :2069
bEnableMegaLights = 0 RendererSettings.cpp:93 :83
AudioMixerModuleName (Config/Windows/WindowsEngine.ini) AudioMixerXAudio2 AudioMixerWasapi
bUseZenStore (Config/BaseGame.ini) :93 False :95 True
BuildSettingsVersion / EngineIncludeOrderVersion — TargetRules.cs:123-210 (V7, Unreal5_8 = Latest)

Commandes reproductibles (PowerShell, lecture seule) : Get-Content <moteur>\Engine\Build\Build.version ; Get-Content <moteur>\Engine\Config\Windows\Windows_SDK.json ; Get-ChildItem D:\Game\VS2022\VC\Tools\MSVC ; vswhere -all -products * -format json ; Select-String -Path <fichier> -Pattern <symbole> -Context 3,0 ; diff des BaseScalability.ini par analyse clé=valeur des sections *Quality@0..3.

Annexe B — Mots-clés du filtrage des notes 5.6/5.7

deprecat, removed, renamed, no longer, Fab, Quixel, Bridge, TemporalAA, TAA, AntiAliasingMethod, ParseIntoArray, FString, FTSTicker, AssetRegistry, GetAssetsByClass, IoStore, .pak, UnrealPak, StructUtils, MassEntity, AnimNext, PythonScript, FJsonObject, PrimitiveSceneProxy, VertexFactory, GetDynamicMeshElements, Scalability, PostProcessAAQuality, XAudio2, WASAPI, navmesh version, Windows 7/10, IncludeOrderVersion, BuildSettingsVersion, UE_DEPRECATED, GameInstanceSubsystem, SkinnedAsset, GetSkeletalMesh, K2_Get, UKismetStringLibrary, RHIGetTextureMemoryStats, SaveGame, UGameUserSettings, SlateApplication, IInputProcessor, CommonUI, EnhancedInput, Oodle, ZenStore, Substrate/Lumen/MegaLights/Nanite/TSR/VSM … default, Mutable, PoseableMesh, MeshDescription, RawMesh, Commandlet, SavePackage, K2Node, EdGraph, Kismet, NavigationSystem, RecastNavMesh, AudioMixer, FTickableGameObject, TSet/TMap/TArray.