Substitution for GetSmartNameByName in UE 5.3

In Unreal Engine 5.3 the USkeleton::GetSmartNameByName is deprecated and in no longer used.
There was no replacement in documents,
Can someone help me find the substitution?

1 Like

Well, if you’re calling this for getting curve data from AnimSequenceBase, the good news is: You wouldn’t need it anymore.

I recently rewrite my code to avoid warning and I can share a sample here:

 curAnimMontage->GetSkeleton()->GetSmartNameByName( USkeleton::AnimCurveMappingName, TEXT( "AtkForwardCorrection" ), CurveName );
 const FFloatCurve* corrCurve = static_cast<const FFloatCurve*>( curAnimMontage->GetCurveData().GetCurveData(CurveName.UID) );

replaced by:

  const FFloatCurve* corrCurve = static_cast<const FFloatCurve*>( curAnimMontage->GetCurveData().GetCurveData( FName( "AtkForwardCorrection" ), ERawCurveTrackTypes::RCT_Float ) )

Hope it’s the same case for you.
Good luck.

In the USkeleton class Smart Names have been renamed to CurveMetaData recently.
If you are looking for a function related to Smart Names, just look for a similar function that has “CurveMetaData” in its name