// Portage UE 5.5 - lot L7a (R-03, ERR-012) : remplacement des noeuds "Get SkeletalMesh" deprecies. // // En UE 5.1+, la propriete USkinnedMeshComponent::SkeletalMesh est depreciee (remplacee par // SkinnedAsset). Les Blueprints 4.27 la lisent encore : chaque lecture passe par son getter // GetSkeletalMesh_DEPRECATED(), qui renvoie Cast(GetSkinnedAsset()). // // Le premier essai (CX-B05) rebranchait ces lectures sur USkeletalMeshComponent::GetSkeletalMeshAsset(). // Cette fonction n'existe que sur USkeletalMeshComponent : sur les composants proxy de LifePlay, // qui sont des USkinnedMeshComponent, le cast echouait et la lecture renvoyait None (ERR-002 aggrave). // // ULPMeshCompat::GetSkeletalMesh reproduit exactement le getter du moteur, pour tout // USkinnedMeshComponent, sans passer par une API depreciee. #pragma once #include "CoreMinimal.h" #include "Kismet/BlueprintFunctionLibrary.h" #include "LPMeshCompat.generated.h" class USkeletalMesh; class USkinnedMeshComponent; UCLASS() class LIFEPLAY_API ULPMeshCompat : public UBlueprintFunctionLibrary { GENERATED_BODY() public: /** Maillage squelettique du composant : Cast(GetSkinnedAsset()), None si Component est None. */ UFUNCTION(BlueprintPure, Category = "Components|SkinnedMesh", meta = (DisplayName = "Get Skeletal Mesh (UE4)")) static USkeletalMesh* GetSkeletalMesh(const USkinnedMeshComponent* Component); };