36 KiB
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 :
- Notes 5.6 : https://dev.epicgames.com/documentation/en-us/unreal-engine/unreal-engine-5-6-release-notes (lue dans le navigateur intégré, 685 664 caractères ; sections « Platform SDK Upgrades » et « Upgrade Notes » lues en entier ; le reste filtré par mots-clés — voir § Limites).
- Notes 5.7 : https://dev.epicgames.com/documentation/en-us/unreal-engine/unreal-engine-5-7-release-notes (idem, 400 278 caractères).
- Notes 5.8 : https://dev.epicgames.com/documentation/en-us/unreal-engine/unreal-engine-5-8-release-notes (lue par WebFetch en 4 tranches, 357 273 caractères, intégralité).
- Fichiers du moteur 5.8 installé localement (configuration UBT, ini de base, en-têtes), cités
UE_5.8/Engine/....
(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.FabetBridgesont livrés en standard dansUE_5.5/Engine/Plugins/(dossiers de premier niveau) ;MegascansPluginaussi. - Aucun
.inideUE_5.5/Engine/Configmodifié après l'installation (tous datés 07/09/2026 18:18). - 662
.upluginen 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"; modulesLifePlay(Runtime),LifePlayEditorTools(Editor) ; plugins projetLPAnimCore,ModdingExtra,StreetMap,McpAutomationBridge(Editor,Optional), addonLPSandboxviaAdditionalPluginDirectories: ../LifePlay-Sandbox/Plugins(Optional) ; 26 plugins moteur activés dontFabetBridgenon marquésOptional.Source/LifePlay.Target.cs:12-13etSource/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
- MSVC 14.44.35207 est banni par 5.8 (
Windows_SDK.json5.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 deAddVisualCppToolChain(toolchain avecErroré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). - Windows SDK : rien à installer (22621 et 26100 présents).
- .NET : rien à installer (UBT 5.8 embarque DotNet 10.0 ;
rollForward=LatestMajorautorise un runtime système supérieur mais n'en exige pas). - Clang : non requis pour une compilation MSVC ; 19.1.5 présent ≥ 18.1.8 si on l'active un jour.
- Cible Windows 10 minimum : aucune action machine ; conséquence produit, voir (c) ligne 5.
BuildSettingsVersion: voir (c) ligne 2 — modification de deuxTarget.csobligatoire 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
- 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).
- Comportement sans
Fab/Bridge: l'essai doit d'abord être fait avec le.uprojectintact (attendu :Unable to find plugin 'Fab'), puis avecOptional:trueou retrait, pour documenter les deux. 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 parUndefinedIdentifierWarningLevel,ReturnType,Dangling,UnreachableCode(par module : LifePlay, LifePlayEditorTools, LPAnimCore, ModdingExtra, StreetMap, LPSandbox, McpAutomationBridge).FJsonObject: erreurs dansLPDataCache.cpp:52,196etLPEditWidgetCommandlet.cpp; nombre d'erreurs dansMcpAutomationBridge(plugin optionnel : mesurer aussi l'essai avec Mcp désactivé) ; essai avecUE_JSONOBJECT_LEGACY_STRING_KEYS=1.- Avertissements de dépréciation :
GetMaterialRelevance(StreetMapSceneProxy.cpp:21),FEditableTextBoxStyle::Font(LPFixEditableTextBoxFontCommandlet.cpp:63-66),GetSkeletalMesh_DEPRECATED(toujours encadré parPRAGMA_DISABLE_DEPRECATION_WARNINGS?), et toutUE_DEPRECATED(5.6|5.7|5.8)touché. RHIGetTextureMemoryStats(LPVideoQualitySubsystem.cpp:43) : vérifier qu'elle se résout en 5.8.IncludeOrderVersion: compiler enUnreal5_5puisUnreal5_8; compter les erreurs d'includes implicites.- 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 dezenserver, 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) etBP_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.