Hi Dev Community,
We recently switched over to the 5.2 preview.
We leverage a local user Derived Data Cache (DDC) per machine and our drop includes the Animation Compression changes from CL 23510521. These changes can be found here:
https://github.com/EpicGames/UnrealEngine/commit/31f1b097fd1507b848d62537d2d7c86986128bc4
We see two issues that may be closely related:
- AnimSequence::PopulateModel descends to UAnimationSequencerDataModel::GenerateGuid.
This GUID calculation acts non-deterministic from run to run (same machine + build + local DDC + asset), preventing the DDC from picking it up.
Here is the NotificationCollection that triggers the Modify:
- BeginCacheDerivedDataForCurrentPlatform descends to UAnimSequence::CreateDerivedDataKeyHash from the same OnModelModified call as #1.
The GUID calculation acts non-deterministic compared to #1.
Changing GetDataModel()->GenerateGuid() within UAnimSequence::CreateDerivedDataKeyHash to instead be
FGuid guid1(0, 0, 0, 1);
Results in 95%+ positive DDC fetches on subsequent runs, but won’t be sufficient if the asset itself changes.
We see upcoming changing for 5.3 from about 2 weeks ago.
CL 4421496
https://github.com/EpicGames/UnrealEngine/commit/502797ca50c381928f5dec3edac62208811a8417
Perhaps we need a patch that restores functionality for the DDC?
Thanks so much,
- Jeff Dixon