25 KiB
Fiche UA-T2 — Niveau N3 — Modèle prévu opus-xhigh | utilisé opus (effort par défaut)
Audit des plugins avant la migration UE 5.5 vers 5.8 (lot UA, plan Docs/Migration/27_Plan_Migration_UE58.md).
Date : 2026-10-08. Dépôt jeu à 190bd56, addon LifePlay-Sandbox à cfa7b6a. Lecture seule : aucune compilation,
aucun lancement, aucun git d'écriture.
Méthode. Lecture des .uplugin, *.Build.cs, sources et de LifePlay.uproject. Les en-têtes des moteurs
installés ont été comparés directement : D:\Game\Launcher\Engine\UE_5.5 et D:\Game\Launcher\Engine\UE_5.8
(5.8.3, CL 58210709, installé le 2026-10-08 ; Engine/Source présent). Une API « présente en 5.8 » a été vérifiée
par recherche de la déclaration dans l'en-tête 5.8. Une API « absente » veut dire que la déclaration ne figure plus
dans l'en-tête 5.8 : l'erreur de compilation est attendue, et l'essai UA-T5 la mesurera. Recherche web pour
l'origine et la maintenance de StreetMap, de McpAutomationBridge et de Bridge / Fab.
Légende des sections : Établi = constaté dans un fichier (fichier:ligne) ou sur une URL. Estimé = déduction chiffrée avec sa méthode. Incertain = ne peut pas être tranché sans compiler ni lancer (renvoyé à UA-T5 ou U3/U4).
Tableau récapitulatif
| Plugin | Dépôt | Modules (type) | Risque 5.8 | Cause principale | Effort estimé |
|---|---|---|---|---|---|
| LPAnimCore | jeu | LPAnimCore (Runtime) | moyen | UAnimSequence::GetBoneTransform(…, double Time, …) absent en 5.8 (LPCoupleSimCore.cpp:155) |
0,25 séance |
| ModdingExtra | jeu | ModdingExtra (Runtime, PreLoadingScreen) | faible | API fichiers et registre d'assets inchangées ; contrat mods figé | 0,25 séance (+ tests UA-T3/U5) |
| StreetMap | jeu (tiers, MIT) | StreetMapRuntime (Runtime), StreetMapImporting (Editor) | moyen | Proxy de rendu maison (FPrimitiveSceneProxy), API dépréciée 5.7 (GetMaterialRelevance(FeatureLevel)), plugin amont figé depuis 2023 ; 310 assets du jeu le référencent |
1 à 2 séances (compilation) + validation des villes en U5 |
| McpAutomationBridge | jeu (gitignoré, MIT, tiers) | McpAutomationBridge, McpAutomationBridgeFab (Editor) | moyen (sans effet sur le jeu) | 1 624 fichiers, 238 k lignes, bêta ; dépendances obligatoires (Fab / Bridge facultatifs) ; version locale 0.6.0-beta-b | 0 (désactivé, P7) à 1 séance (mise à jour vers une version amont) |
| LPSandbox (module LPSandbox) | addon | Runtime, interdit en Shipping | faible | Slate, viewport, captures : API présentes en 5.8 | 0,25 séance |
| LPSandbox (module LPAnimMeasure) | addon | Runtime | moyen | même appel GetBoneTransform(double) (LPPoseMeasure.cpp:1283) |
0,25 séance |
| LPSandbox (module LPModTools) | addon | Editor | moyen | API éditeur des maillages et de l'animation (GetImportedModel, IAnimationDataController, MeshDescription) ; présentes en 5.8, comportement à vérifier |
0,5 séance (compilation + un passage de la chaîne de l'atelier) |
| Plugins moteur activés (21 entrées) | moteur | — | élevé pour Fab et Bridge, faible pour les autres |
Fab et Bridge absents de l'installation 5.8 alors que le .uproject les déclare activés et non Optional |
0,1 séance (édition du .uproject ou installation par le Launcher) |
Total estimé, plugins seuls : 3 à 4,5 séances (compilation et corrections), hors validation des villes (U5) et hors cuisson des mods (UA-T3). Méthode en fin de document.
1. LPAnimCore (Plugins/LPAnimCore)
Établi
- Rôle : redirection des clips convertis (
LPAnimRedirect) et géométrie commune du couple (LPCoupleSim) ; rapatrié de l'addon au lot DC1 (LPAnimCore.uplugin:6,LPAnimCore.Build.cs:1-3). - Origine / licence : code maison LifePlay (
"CreatedBy": "LifePlay"), pas de licence tierce. - Modules :
LPAnimCore, Runtime,PreDefault, Win64 seulement (LPAnimCore.uplugin:11-19). - Dépendances moteur :
Core,CoreUObject,Engine(LPAnimCore.Build.cs:13). - Taille : 5 fichiers, 783 lignes.
- Qui en dépend :
LifePlay.Build.cs:45(dépendance publique) ;Source/LifePlay/LPDirectControlSubsystem.cpp,LPShowCoupleSubsystem.cpp/.h; dans l'addon,LPSandbox.Build.cs:25etLPAnimMeasure.Build.cs:23(15 fichiers de l'addon incluent ses en-têtes ou ceux de LPAnimMeasure). - API sensibles :
LPCoupleSimCore.cpp:155:Anim->GetBoneTransform(Xform, FSkeletonPoseBoneIndex(Index), Time, false)avecdouble Time. En 5.5, la surcharge existe (UE_5.5/.../Animation/AnimSequence.h:569). En 5.8, seule la surchargeGetBoneTransform(FTransform&, FSkeletonPoseBoneIndex, const FAnimExtractContext&, bool)reste (UE_5.8/.../Animation/AnimSequence.h:508). La surcharge à contexte n'existe pas en 5.5 (relevé des lignes 569, 572, 582 de l'en-tête 5.5).LPCoupleSimCore.cpp:113-119, 140, 173, 179:GetSkeleton,GetReferenceSkeleton,GetRefBonePose,GetPlayLength,GetComponentSpaceTransforms,GetRelativeTransform: API stables.
Estimé
- Risque : moyen. Une erreur de compilation certaine (une ligne), sur un module que le jeu charge en
PreDefault: tant qu'elle n'est pas corrigée, le jeu ne compile pas. - Effort : 0,25 séance. Méthode : 1 site à corriger + 1 compilation du module + 1 contrôle de
LPShowCoupleSubsystem(géométrie du couple) en jeu.
Parade
Construire un FAnimExtractContext à partir de Time et appeler la surcharge à contexte. Comme elle n'existe pas en
5.5, entourer l'appel d'un garde #if ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION >= 8 (ou de la version
qui l'a introduite, à lire en U1) tant que la branche 5.5 doit compiler.
Incertain
- Version exacte qui a retiré la surcharge
double(5.6, 5.7 ou 5.8) et égalité numérique des deux chemins (interpolation par défaut) : à mesurer en U4 sur la sandbox (mesures de pose avant / après).
2. ModdingExtra (Plugins/ModdingExtra)
Établi
- Rôle : bibliothèque Blueprint du système de mods (lister fichiers et sous-dossiers,
LoadTxt/SaveTxt,ContentDirectory,IsPointInsidePolygon) et cache de données compiléLPDataCache(Saved/LPDataCache) (ModdingExtraBPLibrary.h:34-50,ModdingExtra.Build.cs:36-37). - Origine / licence : auteur d'origine du jeu (
"CreatedBy": "Vinfamy",ModdingExtra.uplugin:8), gabarit de plugin Epic ; pas de fichier de licence. Modifié au portage 5.5 (lot O2b, couche de données). - Modules :
ModdingExtra, Runtime,PreLoadingScreen(ModdingExtra.uplugin:17-20). - Dépendances moteur : publiques
Core; privéesCoreUObject,AssetRegistry,Json,Engine,Slate,SlateCore(ModdingExtra.Build.cs:22-42).Slate/SlateCorene sont pas utilisés par le code (aucune occurrence dansPrivate/*.cpp). - Taille : 6 fichiers, 655 lignes de code.
- Qui en dépend : 12 assets de
Content/contiennent/Script/ModdingExtra(dontBPs/GI,BPs/Room,UI/CityMenu,UI/CharGen,UI/MainMenu,UI/Inventory). Aucun module C++ du jeu ne le lie. - API sensibles (toutes présentes en 5.8, vérifié dans les en-têtes) :
ModdingExtraBPLibrary.cpp:83:IAssetRegistry::GetAssetsByPath(FName, …)(UE_5.8/.../IAssetRegistry.h:311).ModdingExtraBPLibrary.cpp:90:FAssetData::AssetClassPath/GetClassPathName.ModdingExtraBPLibrary.cpp:165:FCoreDelegates::OnEnginePreExit(UE_5.8/.../CoreDelegates.h:262).LPDataCache.cpp:109:IFileManager::IterateDirectoryStatRecursively(UE_5.8/.../FileManager.h:210).ModdingExtraBPLibrary.cpp:66, 255:FindFilesRecursive,ConvertToAbsolutePathForExternalAppForRead.
Estimé
- Risque : faible à la compilation. L'enjeu réel est le contrat mods figé (lecture des
.lpmod, liste des villes deCityMenuen IoStore) : il relève de UA-T3 et des tests de U5, pas du code du plugin. - Effort : 0,25 séance (compilation, retrait facultatif de
Slate/SlateCoreinutilisés, essai « nouvelle partie » qui liste les villes ; cf. mémoire « Packaging test paths »).
Incertain
- Comportement de
FindFilesRecursiveet du repli registre d'assets avec les conteneurs IoStore de 5.8 : se mesure seulement sur un build empaqueté 5.8 (U5/U6).
3. StreetMap (Plugins/StreetMap)
Établi
- Rôle : importe des données OpenStreetMap (
.osm) en assetUStreetMapet les rend par un composantUStreetMapComponent(routes, bâtiments, collision, navigation). C'est le support des villes du jeu. - Origine : plugin de Mike Fricker,
github.com/ue4plugins/StreetMap(StreetMap.uplugin:8-10,README.md« Street Map Plugin for UE4 », « just a fun weekend project and not officially supported by Epic »). Licence MIT, © 2017 Mike Fricker (LICENSE.txt). Dernier commit amont : 2023-05-29, « Miscellaneous fixes for warnings in 5.2 » (https://api.github.com/repos/ue4plugins/StreetMap/commits). Dépôt non archivé, aucune version 5.6+ publiée en amont. - Historique local : un seul commit,
1122e17 2026-09-29 edujiro5972 L0 : etat initial du projet 5.5 avant toute correction; le plugin est arrivé avec le projet 5.5 déjà porté. - Écarts avec l'amont identifiés (marqués dans le code) :
StreetMap.h:395-398,StreetMap.cpp:20-31:GetAssetRegistryTags(FAssetRegistryTagsContext)(portage 5.5).StreetMapSceneProxy.cpp:169: commentaire « RegisterOneFrameMaterialProxy renvoie void (il renvoie le pointeur à partir de 5.6) ».StreetMapSceneProxy.h:14-30: sommets enFVector3f/FVector2f(adaptation UE5, origine amont ou locale non tranchée sans diff complet).
- Modules :
StreetMapRuntime(Runtime),StreetMapImporting(Editor) (StreetMap.uplugin:17-29). - Dépendances moteur : Runtime →
Core,CoreUObject,Engine,RHI,RenderCore,NavigationSystem(StreetMapRuntime.Build.cs:10-18). Importing →UnrealEd,XmlParser,AssetTools(en double),Projects,Slate,EditorStyle,SlateCore,PropertyEditor,RenderCore,RHI,RawMesh,AssetRegistry,StreetMapRuntime(StreetMapImporting.Build.cs:10-29).EditorStyleetRawMeshexistent encore en 5.8 (UE_5.8/Engine/Source/Editor/EditorStyle,Runtime/RawMesh). - Taille : 28 fichiers, 4 853 lignes ; contenu
StreetMapDefaultMaterial.uasset, icônes. - Qui en dépend : 310 assets de
Content/contiennent/Script/StreetMapRuntime(dontBPs/Birdview,BPs/CityExpansion,BPs/GI,BPs/MapMarkers,BPs/PC, les cartes de villesHeavy/StreetMap) ;LifePlayEditorTools.Build.cs:32(commandletLPCheckStreetMapCommandlet) ;LPDataCompat.cpp:274-275(cheminsCentralLondon),LPDebugSubsystem.cpp:190,LPDirectControlSubsystem.cpp:388(par nom de classe ou d'acteur, sans liaison C++). - API sensibles (5.5 vs 5.8, en-têtes installés) :
StreetMapSceneProxy.cpp:20:UMeshComponent::GetMaterialRelevance(ERHIFeatureLevel)→UE_DEPRECATED(5.7)en 5.8 (UE_5.8/.../Components/MeshComponent.h:127) ; remplaçant avecEShaderPlatform(ligne 129). Avertissement C4996, pas une erreur.StreetMapSceneProxy.cpp:7, 38, 79-84:FLocalVertexFactory(FeatureLevel, …),FStaticMeshVertexBuffers::InitFromDynamicVertex,BeginInitResource(FRenderResource*): déclarations présentes en 5.8 (LocalVertexFactory.h,StaticMeshResources.h,RenderResource.h:218).StreetMapSceneProxy.cpp:170, 186:FMeshElementCollector::RegisterOneFrameMaterialProxy: présent en 5.8 et renvoievoid(UE_5.8/.../MeshElementCollector.h:92). Le commentaire local « renvoie le pointeur à partir de 5.6 » est faux pour 5.8.3 : sans incidence, le code n'utilise pas de retour.StreetMapSceneProxy.h:100-104: surchargesDrawStaticElements,GetDynamicMeshElements,GetViewRelevance,CanBeOccluded,GetMemoryFootprint: signatures identiques en 5.8 (PrimitiveSceneProxy.h:439, 542, 611, 687).StreetMapComponent.cpp:84-130:GetPhysicsTriMeshData,ContainsPhysicsTriMeshData,WantsNegXTriMesh(interfaceInterface_CollisionDataProvider.h:32, 55, inchangée) ;:141-169UBodySetup,CreatePhysicsMeshes;:613FNavigationSystem::UpdateComponentData(UE_5.8/.../AI/NavigationSystemBase.h:136).StreetMapComponentDetails.cpp:222-302(éditeur, « créer un StaticMesh ») :FRawMesh,SourceModel->RawMeshBulkData->SaveRawMesh,ImportVersion,UStaticMesh::Build(bool): présents en 5.8 mais chemin hérité (l'API moderne passe parFMeshDescription).StreetMapAssetTypeActions.h:4:FAssetTypeActions_Base(toujours présent en 5.8, remplacé à terme parUAssetDefinition).StreetMap.h:525:UAssetImportDataenInstanced;StreetMapReimportFactory.cpp:44UFactory::StaticImportObject.
Estimé
- Risque : moyen. Les signatures relevées existent en 5.8 ; le risque vient (1) du proxy de rendu maison, dont le
comportement (pertinence statique / dynamique, ombres, Lumen, Nanite absent) n'est garanti que par une capture
en jeu, (2) d'un amont non maintenu : toute rupture sera corrigée par nous, (3) de la masse d'assets (310) et
des villes à revalider (
LPCheckStreetMap, 280 villes). - Effort : 1 à 2 séances. Méthode : ~8 points d'appel moteur sensibles (proxy, collision, navigation, importation) ; 0,5 séance de compilation et d'avertissements ; 0,5 à 1 séance de vérification visuelle (captures même cadrage avant / après, cf. mémoire « Compare before rollback ») ; la validation des 280 villes est comptée en U5.
Parade
- Garder le plugin dans le dépôt (MIT) ; corriger
GetMaterialRelevancepar la surchargeEShaderPlatform(GetScene().GetShaderPlatform()) ; corriger le commentaire deStreetMapSceneProxy.cpp:169. - Ne pas toucher l'importation (
RawMesh) sauf erreur : c'est un outil éditeur peu utilisé. - Repli si le rendu diverge : voie U9 (UE5 native, maillages statiques cuits par ville), déjà prévue au plan.
Incertain
- Nombre exact d'erreurs et d'avertissements en 5.8 : mesuré par UA-T5.
- Rendu du proxy sous le renderer 5.8 (ordre des passes, Lumen, ombres virtuelles) : capture en jeu en U4/U5.
- Écarts complets avec l'amont (diff fichier à fichier) : non faits ici, à faire en U1 si utile.
4. McpAutomationBridge (Plugins/McpAutomationBridge, gitignoré)
Établi
- Rôle : outil de développement ; pont MCP (Model Context Protocol) qui laisse un assistant piloter l'éditeur. Aucun rôle dans le jeu.
- Origine / licence : ChiR24,
github.com/ChiR24/Unreal_mcp(McpAutomationBridge.uplugin:8-13), MIT (LICENSE). Version locale 0.6.0-beta-b (uplugin:3-4), bêta et expérimental (uplugin:14-15). Amont : 0.6.0-beta-c du 2 octobre (pré-version), dernière stable 0.5.30 du 5 juin, qui annonce une mise à jour pour « UE 5.8 Preview » (https://github.com/ChiR24/Unreal_mcp/releases). Le README local annonce 5.0–5.8, mais le CHANGELOG précise : « per-version build and live-editor results are not asserted here » (CHANGELOG.md:116). - Gitignoré :
.gitignore:41; binaires 5.5 présents (Binaries/Win64/UnrealEditor-McpAutomationBridge*.dll). - Référence projet :
LifePlay.uproject:Enabled,Optional,TargetAllowList: ["Editor"]: jamais dans le jeu ni en Shipping ; réglages dansConfig/DefaultGame.ini:73. - Modules :
McpAutomationBridgeetMcpAutomationBridgeFab, Editor (uplugin:18-39). - Dépendances moteur : ~70 modules (
McpAutomationBridge.Build.cs:44-53), dontUnrealEd,Sequencer,Niagara,WorldPartitionEditor,MaterialEditor,Persona,RigVM,OpenSSL, plus ~35 modules facultatifs sondés sur le disque (:56, 94). Les plugins requis non facultatifs sontPythonScriptPlugin,EditorScriptingUtilities,Niagara,GameplayAbilities,SmartObjects(uplugin:40-155). - Taille : 1 624 fichiers, 237 902 lignes.
- Prise en compte de 5.8 par l'auteur :
McpAutomationBridge.Build.cs:60-61(PCG exporte un symbole de données en 5.8, lien sans chargement différé),McpAutomationBridgeFab.Build.cs:74-79(MegascansPluginsans sources en 5.8),CHANGELOG.md:112(FJsonObject::Valueschange de type de clé en 5.8). - Qui en dépend : personne dans le jeu ni dans l'addon.
Estimé
- Risque : moyen pour l'outil, nul pour le jeu. Plugin
Optional+Editorseulement : son absence ou son échec ne bloque ni le jeu ni la cuisson. Mais s'il reste activé et présent, UBT le compile avec la cible éditeur : une erreur dans ses sources bloquerait la compilation éditeur. - Effort : 0 séance si on applique P7 (désactivé jusqu'à une version 5.8 vérifiée) ; 0,5 à 1 séance pour remplacer le dossier par une version amont plus récente (0.6.0-beta-c ou suivante) et compiler (238 k lignes, compilation longue).
Parade
P7 : pour l'essai UA-T5 et la bascule U3, sortir le dossier du projet (ou passer Enabled: false) ; le
réintroduire en U4 à partir d'une version amont qui annonce 5.8 en version finale.
Incertain
- Compilation réelle de 0.6.0-beta-b sur 5.8.3 : l'auteur ne l'affirme pas (
CHANGELOG.md:116) ; à mesurer par UA-T5 (dans une copie, plugin inclus puis exclu).
5. Addon LifePlay-Sandbox (D:\Game\LifePlay-Sandbox\Plugins\LPSandbox)
Établi (commun)
- Origine / licence : code maison (
"CreatedBy": "LifePlay"), dépôt privé séparé, branché parAdditionalPluginDirectories: ["../LifePlay-Sandbox/Plugins"]et la référenceLPSandboxOptional, Win64 (LifePlay.uproject). Le jeu compile sans l'addon (lots DC1–DC4). - Plugin requis :
LPAnimCoredu jeu (LPSandbox.uplugin:15-20). - Taille : 53 fichiers, 11 888 lignes.
5.1 Module LPSandbox (Runtime, TargetConfigurationDenyList: Shipping, LPSandbox.uplugin:23-28)
- Rôle : sandbox Pair / Interaction / Mesure lancée en
-game. - Dépendances :
Core,CoreUObject,Engine,InputCore,SlateCore,LPAnimMeasure,LPAnimCore(publiques) ;Slate,ImageWrapper,AssetRegistry,Json,Projects(privées) (LPSandbox.Build.cs:18-37). - API sensibles (présentes en 5.8) :
UGameViewportClient::AddViewportWidgetContent/GetGameViewportWidget(LPPairSandbox.cpp:174,LPSandboxInteraction.cpp:497, 577) ;FScreenshotRequest::RequestScreenshot(LPSandboxMeasureTour.cpp:127, 541, 561, 566; en 5.8 la signature gagne deux paramètres par défaut,UE_5.8/.../UnrealClient.h:219) ;UGameViewportClient::OnScreenshotCaptured(:427;GameViewportClient.h:535) ;FImageUtils::ImageResize/PNGCompressImageArray(LPSandboxMeasureTour.cpp:600-602;ImageUtils.h:192, 334) ;FAssetData::AssetClassPath(LPSandboxActors.cpp:98). - Risque : faible. Effort : 0,25 séance (compilation, un lancement
-gamede la sandbox).
5.2 Module LPAnimMeasure (Runtime)
- Rôle : chaîne de mesure de poses (
LPPoseMeasure,LPPoseOrchestrator,LPSkeletonProfile). - Dépendances :
Core,CoreUObject,Engine; privéesJson,LPAnimCore,Projects(LPAnimMeasure.Build.cs:17-26). - API sensible :
LPPoseMeasure.cpp:1283:Anim->GetBoneTransform(Xform, FSkeletonPoseBoneIndex(Bone), static_cast<double>(Time), true): même surchargedoubleabsente en 5.8 que LPAnimCore. - Risque : moyen (une erreur certaine, la chaîne de mesure sert de référence au transfert de poses). Effort : 0,25 séance ; parade identique à LPAnimCore (et re-mesure de référence avant / après).
5.3 Module LPModTools (Editor)
- Rôle : commandlets de l'atelier de mods (
LPAnimEval,LPAnimTwist,LPAnimCatalog,LPAnimIdentify,LPHairFromStaticMesh). - Dépendances :
Core,CoreUObject,Engine,LPAnimMeasure; privéesUnrealEd,AssetRegistry,Json,MeshDescription,StaticMeshDescription,SkeletalMeshUtilitiesCommon,SkeletalMeshDescription,AnimationCore(LPModTools.Build.cs:21-42). - API sensibles (présentes en 5.8, comportement non vérifié) :
IAnimationDataController::AddBoneCurve/SetBoneTrackKeys(LPAnimTwistCommandlet.cpp:225-243;UE_5.8/.../IAnimationDataController.h:191, 238, 253) ;IAnimationDataModel(LPAnimCatalogCommandlet.cpp:125,LPAnimChecks.cpp:232) ;USkeletalMesh::GetImportedModel()->LODModels[0](LPHairFromStaticMeshCommandlet.cpp:50, 150,LPAnimChecks.cpp:70) ;CommitMeshDescription,FStaticMeshAttributes,FSkeletalMeshAttributes(:295, 385, 407) ;FAnimationRuntime::GetComponentSpaceTransformRefPose(:276;AnimationRuntime.h:705). - Risque : moyen. Les données éditeur des maillages squelettiques évoluent à chaque version ; la chaîne
LPAnimTwistdoit être relancée après recuisson (mémoire « Pièges de build »). Effort : 0,5 séance.
6. Plugins moteur référencés par LifePlay.uproject
Présence vérifiée par recherche du .uplugin dans UE_5.5/Engine/Plugins et UE_5.8/Engine/Plugins.
| Plugin | État .uproject |
5.5 | 5.8 | Risque | Remarque |
|---|---|---|---|---|---|
| EnhancedInput | activé (toutes cibles) | oui | oui | faible | seul plugin moteur activé côté jeu ; dépendance de LifePlay |
| AndroidFileServer | désactivé | oui | oui | nul | |
| NNEDenoiser | Editor | oui | oui | faible | bêta inchangée |
| NNERuntimeORT | Editor | oui | oui | faible | |
| Interchange | Editor | oui | oui | faible | |
| InterchangeAssets | Editor | oui | oui | faible | |
| InterchangeTests | Editor | oui | oui | faible | plugin de tests, retirable |
| Fab | Editor, non Optional | oui (Plugins/Fab, 0.0.6, EngineVersion 5.5.0) |
absent | élevé (bloquant) | plugin installé par le Launcher, pas fourni avec 5.8.3 sur cette machine |
| Bridge (Quixel) | Editor, non Optional | oui (Plugins/Bridge, 2025.0.3) |
absent | élevé (bloquant) | Bridge est en voie d'abandon au profit de Fab (fil Epic, guide 2026) |
| MetaHumanSDK | Editor | Experimental/MetaHuman |
MetaHuman/ (sorti d'Experimental, activé par défaut) |
faible | même nom de plugin |
| SpeedTreeImporter | Editor | oui | oui | faible | |
| HairStrands | Editor | oui | oui | faible | les coiffures du jeu sont des SkeletalMesh (LPHairFromStaticMesh) |
| MovieRenderPipeline | Editor | oui | oui | faible | |
| Paper2D | Editor | oui | oui | faible | |
| USDCore | Editor | oui | oui | faible | |
| ChaosVD | Editor | oui | oui | faible | |
| LiveLink | Editor | oui | oui | faible | |
| ConcertMain / ConcertSyncClient / ConcertSyncCore | Editor | oui | oui | faible | |
| Takes | Editor | oui | oui | faible | |
| PythonScriptPlugin | Editor | oui | oui | faible | requis par McpAutomationBridge et les scripts -FullStdOutLogOutput |
Établi
FabetBridgesont déclarésEnabled: truesansOptional(LifePlay.uproject), et leurs.upluginsont absents deUE_5.8/Engine/Plugins(seulPlugins/MegascansPlugin, sans sources, existe).Config/DefaultGame.ini:64-65exclut déjà/Bridgeet/Fabde la cuisson.
Estimé
- Risque élevé, effort minime : un plugin activé, non facultatif et introuvable fait échouer UBT pour la cible
éditeur (« Unable to find plugin ») ; la cible jeu n'est pas touchée (
TargetAllowList: Editor). Effort : 0,1 séance. Parade : passerFabetBridgeenOptional: true(ou les retirer) dans le.uprojectde la copie d'essai et de la branche 5.8 ; installer Fab pour 5.8 par le Launcher seulement si on en a besoin.
Incertain
- Message exact d'UBT 5.8 pour un plugin manquant : mesuré par UA-T5.
- Disponibilité du plugin Fab pour 5.8 dans le Launcher : non vérifiée (action utilisateur).
Méthode d'estimation de l'effort
- Compter les points d'appel moteur sensibles par plugin (ci-dessus, fichier:ligne).
- Classer chaque point : rupture certaine (déclaration absente de l'en-tête 5.8) = 0,1 séance avec garde de
version ; dépréciation (
UE_DEPRECATEDen 5.6–5.8) = 0,05 séance ; présent, comportement à vérifier = coût d'un test (lancement-game, capture même cadrage, passage d'un commandlet). - Ajouter un cycle de compilation par plugin (0,1 à 0,25 séance ; McpAutomationBridge plus long).
- Une séance = environ 3 h de travail agent avec builds, sur le modèle des lots AP / DC précédents.
Ruptures certaines relevées : 2 (GetBoneTransform(double) dans LPAnimCore et LPAnimMeasure) + 2 entrées
.uproject (Fab, Bridge). Dépréciation : 1 (GetMaterialRelevance(FeatureLevel)). Le reste se mesure par UA-T5.
Points remis à UA-T5 (essai de compilation 5.8)
- Décompte réel des erreurs par plugin, avec
Fab/Bridgepassés enOptional(sinon UBT s'arrête avant). - Compilation séparée avec et sans
McpAutomationBridge. - Confirmation des deux erreurs
GetBoneTransformattendues. - Avertissements C4996 de StreetMap.
Sources web
- https://github.com/ue4plugins/StreetMap ; derniers commits : https://api.github.com/repos/ue4plugins/StreetMap/commits
- https://github.com/ChiR24/Unreal_mcp/releases
- https://forums.unrealengine.com/t/not-able-to-install-fab-and-quixel-bridge-plugins/2747164
- https://www.strayspark.studio/blog/quixel-to-fab-migration-indie-developer-survival-guide-2026