USkeleton class only performs Add or Empty operations on the LinkupCache array and has no Remove, so the number of LinkupCache can keep increasing in some cases (A description in Step to Reproduce shows one of possible scenarios.)

On the other hand, USkeleton::SkelMesh2LinkupCache is implemented with TMap and could be removed when an element becomes unnecessary.


Steps to Reproduce
  1. Prepare a Skeleton asset.
  2. Prepare some Skeletal Mesh assets, which refer to that Skeleton. (At this timing, an instance of USkeleton is created.)
  3. When application is launched, load an AnimMontage using that Skeleton and make it resident in memory.
  4. Repeat to load SkeletalMeshes, create and destroy.

Need to check the number of USkeleton->LinkupCache on a debugger.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-199963 in the post.

Login to Vote

ComponentUE - Anim - Runtime
Affects Versions5.3.2
Target Fix5.4
Fix Commit30629967
Main Commit30629970
CreatedNov 8, 2023
ResolvedJan 16, 2024
UpdatedMar 21, 2024
View Jira Issue