tuatec / TTToolbox

TTToolbox provides useful helper scripts to automate your character integration workflows in Unreal Engine
MIT License
107 stars 29 forks source link

UE 5.3 support #48

Closed AchimTuran closed 1 month ago

AchimTuran commented 10 months ago

This pull request will introduce 5.3 support. So far everything is untested only a successful build for Windows.

AchimTuran commented 10 months ago

The state still produces a lot of warnings:

TTToolbox\Source\TTToolbox\Private\TTCopyAllCurvesAnimModifier.cpp(53): warning C4996: 'UAnimationBlueprintLibrary::RetrieveContainerNameForCurve': This function is no longer used. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
TTToolbox\Source\TTToolbox\Private\TTCopyAllCurvesAnimModifier.cpp(60): warning C4996: 'UAnimationBlueprintLibrary::RetrieveSmartNameForCurve': This function is no longer used. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
TTToolbox\Source\TTToolbox\Private\TTCopyAllCurvesAnimModifier.cpp(61): warning C4996: 'FAnimationCurveIdentifier::FAnimationCurveIdentifier': Please use the constructor that takes an FName Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
TTToolbox\Source\TTToolbox\Private\TTPoseableMeshComponent.cpp(25): warning C4996: 'USkinnedMeshComponent::SkeletalMesh': Replaced by SkinnedAsset. Use GetSkinnedAsset()/SetSkinnedAsset() instead, or GetSkeletalMeshAsset/SetSkeletalMeshAsset() when called from a USkeletalMeshComponent. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
TTToolbox\Source\TTToolbox\Private\TTPoseableMeshComponent.cpp(41): warning C4996: 'USkinnedMeshComponent::SkeletalMesh': Replaced by SkinnedAsset. Use GetSkinnedAsset()/SetSkinnedAsset() instead, or GetSkeletalMeshAsset/SetSkeletalMeshAsset() when called from a USkeletalMeshComponent. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
TTToolbox\Source\TTToolbox\Private\TTToolboxBlueprintLibrary.cpp(376): warning C4996: 'FSmartNameMappingIterator::GetName': FSmartNameMappingIterator functions are no longer used. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
TTToolbox\Source\TTToolbox\Private\TTToolboxBlueprintLibrary.cpp(364): warning C4996: 'USkeleton::GetSmartNameContainer': This function is no longer used Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
TTToolbox\Source\TTToolbox\Private\TTToolboxBlueprintLibrary.cpp(373): warning C4996: 'FSmartNameMapping::Iterate': FSmartNameMapping functions are no longer used. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
TTToolbox\Source\TTToolbox\Private\TTToolboxBlueprintLibrary.cpp(438): warning C4996: 'FSmartNameMappingIterator::GetName': FSmartNameMappingIterator functions are no longer used. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
TTToolbox\Source\TTToolbox\Private\TTToolboxBlueprintLibrary.cpp(427): warning C4996: 'USkeleton::GetSmartNameContainer': This function is no longer used Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
TTToolbox\Source\TTToolbox\Private\TTToolboxBlueprintLibrary.cpp(435): warning C4996: 'FSmartNameMapping::Iterate': FSmartNameMapping functions are no longer used. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
TTToolbox\Source\TTToolbox\Private\TTToolboxBlueprintLibrary.cpp(485): warning C4996: 'USkeleton::GetSmartNameContainer': This function is no longer used Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
TTToolbox\Source\TTToolbox\Private\TTToolboxBlueprintLibrary.cpp(494): warning C4996: 'FSmartNameMapping::FindSmartName': FSmartNameMapping functions are no longer used. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
UE_5.3\Engine\Source\Runtime\Core\Public\Containers\EnumAsByte.h(20): warning C4996: 'TEnumAsByte_EnumClass<true>': TEnumAsByte is not intended for use with enum classes - please derive your enum class from uint8 instead. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
UE_5.3\Engine\Source\Runtime\Core\Public\Containers\EnumAsByte.h(10): note: see declaration of 'TEnumAsByte_EnumClass'
TTToolbox\Source\TTToolbox\Private\TTToolboxBlueprintLibrary.cpp(539): note: see reference to class template instantiation 'TEnumAsByte<EBlendProfileMode>' being compiled
TTToolbox\Source\TTToolbox\Private\TTToolboxBlueprintLibrary.cpp(646): warning C4996: 'USkeleton::AddSmartNameAndModify': Please use AddCurveMetaData. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
TTToolbox\Source\TTToolbox\Private\TTToolboxBlueprintLibrary.cpp(1104): warning C4996: 'IAssetRegistry::GetAssetsByClass': Class names are now represented by path names. Please use a version of this function that uses FTopLevelAssetPath. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
TTToolbox\Source\TTToolbox\Private\TTToolboxBlueprintLibrary.cpp(1112): warning C4996: 'UAnimSequence::RequestAsyncAnimRecompression': RequestSyncAnimRecompression has been deprecated use BeginCacheDerivedData instead Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
TTToolbox\Source\TTToolbox\Private\TTToolboxBlueprintLibrary.cpp(1128): warning C4996: 'UAnimSequence::RequestAsyncAnimRecompression': RequestSyncAnimRecompression has been deprecated use BeginCacheDerivedData instead Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
TTToolbox\Source\TTToolbox\Private\TTToolboxBlueprintLibrary.cpp(1229): warning C4996: 'USkeletalMesh::GetRetargetBasePose': Please do not use the retarget base pose. If you need a separate retarget pose, use the IK Retargeter or adjust the reference pose of the skeletal mesh. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
TTToolbox\Source\TTToolbox\Private\TTToolboxBlueprintLibrary.cpp(1395): warning C4996: 'USkeleton::AnimCurveMappingName': AnimCurveMappingName is no longer used. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
TTToolbox\Source\TTToolbox\Private\TTToolboxBlueprintLibrary.cpp(1398): warning C4996: 'USkeleton::GetSmartNameContainer': This function is no longer used Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
TTToolbox\Source\TTToolbox\Private\TTToolboxBlueprintLibrary.cpp(1399): warning C4996: 'FSmartNameMapping::Exists': FSmartNameMapping functions are no longer used. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
TTToolbox\Source\TTToolbox\Private\TTToolboxBlueprintLibrary.cpp(1451): warning C4996: 'USkeleton::GetSmartNameByName': This function is no longer used Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
TTToolbox\Source\TTToolbox\Private\TTToolboxBlueprintLibrary.cpp(1457): warning C4996: 'FAnimationCurveIdentifier::FAnimationCurveIdentifier': Please use the constructor that takes an FName Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
TTToolbox\Source\TTToolbox\Private\TTToolboxBlueprintLibrary.cpp(1636): warning C4996: 'FARFilter::ClassNames': Class names are now represented by path names. Please use ClassPaths. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
AchimTuran commented 10 months ago

Hmmm ... looks like 5.3 breaks all Blutilities 🙈 grafik

Also "GetSupportedClass" is deprecated. grafik And we have to use the new SupportedClasses array grafik

EDIT Restarting the editor did help! grafik

spcarso commented 10 months ago

Thank you so much! I am currently on your video series "B1.0 Bonus - Avoid Animation Modifier Curve Issues" and I can't get it to compile. Not sure if it's a 5.3 issue specifically, but everything so far not working has been that.

(Not sure if this is the place to post this, so if I am doing this wrong, just let me know.)

Code: https://pastebin.com/9wtJ75rM Error Message: https://pastebin.com/nWSZp5Aw

EDITP: Of course, I just went onto your next video and now the torch and the 1H pistol seem to work fine with that solution. Maybe I don't need this to work?.?.

AchimTuran commented 10 months ago

@spcarso As I already posted on YouTube the videos where recorded with 5.1 or 5.0. Today we have 5.3, which need adaptions. It will take some time to port everything to 5.3.

(Not sure if this is the place to post this, so if I am doing this wrong, just let me know.)

Sadly it is not. Here we test and migrate TTToolbox to 5.3. You need to learn how to resolve compiler issues on your own and this pull request is not a place to learn it. 😅

AchimTuran commented 10 months ago

Held object editor does not work anymore. We see that the track name valid function does not work anymore. Sadly it is not deprecated. grafik

These are the errors that got raised

...
LogBlueprintUserMessages: [BP_Editor_C_1] ERROR! Tried to access invalid track name "ik_foot_l" at frame "7"
LogBlueprintUserMessages: [BP_Editor_C_1] ERROR! Tried to access invalid track name "ik_foot_r" at frame "7"
LogBlueprintUserMessages: [BP_Editor_C_1] ERROR! Tried to access invalid track name "ik_hand_root" at frame "7"
LogBlueprintUserMessages: [BP_Editor_C_1] ERROR! Tried to access invalid track name "ik_hand_gun" at frame "7"
LogBlueprintUserMessages: [BP_Editor_C_1] ERROR! Tried to access invalid track name "ik_hand_l" at frame "7"
....

grafik

First fix: grafik