# REFAC-TRANSFO-T3 : ULPMeshCompat::GetSkeletalMesh vers GetSkinnedAsset + cast Niveau de preuve : établi (OBA-T23 § 3.2 et 3.4, en-têtes 5.8 cités par OBA ; reprise par REFAC-API-58 (c)). ## Avant - `ULPMeshCompat::GetSkeletalMesh` (`Source/LifePlay/LPMeshCompat.h:30-31`, `.cpp:9-19`) : `Cast(Component->GetSkinnedAsset())` ; `None` et trace Verbose si le composant est `None`. - Appelants C++ : 0. Appelants Blueprint : 56 nœuds, 8 Blueprints (CX-B10, historique, non recompté). ## Après Dans les Blueprints : un nœud natif `Get Skinned Asset` (`USkinnedMeshComponent::GetSkinnedAsset`, `SkinnedMeshComponent.h:1222-1223`, pur, non déprécié) puis un cast vers `SkeletalMesh`. `GetSkeletalMeshAsset` (`SkeletalMeshComponent.h:374-375`) est rejeté : il ne vaut que pour `USkeletalMeshComponent`. ## Différence de comportement Aucune sur la valeur. Sur une cible `None`, le natif émet « Accessed None » au lieu de la trace Verbose (estimé). ## Risque, preuve, ordre - Risque faible, volume moyen (56 sites). - Preuve exigée : recompilation de tous les Blueprints (journal `CompileAllBlueprints`) sans erreur ni nouvel « Accessed None » ; parcours de contrôle. - Ordre : après T2 ; avant T1. - Appelants Blueprint à relever par MCP (`lp-mcp`, lecture seule, copie UE, BUILD-GO) avant toute édition ; remplacement automatisable par un outil sur le modèle historique `LPFixSkeletalMeshGet`. - Gain : une fonction C++ de moins ; aucun interrupteur U9 à basculer.