The explanation from the licensee seems pretty comprehensive.
Text from the UDN:
We've been trying to run fixupredirects via the resavepackages commandlet, but noticed that the OFPA assets were not being modified. We found the Epic CL that should fix this (30419917), but this now fails because in ContentCommandlets.cpp, when filtering package names to packages that are pointing to redirectors, the two lists of paths are in different formats.
The ReferencerPackages list has files in this format: ../../Content/<remaining_path>.
Whereas PackageNames list has files in this format: ../../../<Project>/Content/<remaining_path>.
It's the change to PackageUtilities.cpp in 30419917 that changes the format of PackageNames to what it is above.
Omitting this file in the integration fixes the issue. As does replicating the invocation of CreateStandardFilename() on the ReferencerPackages list.
This looks to us like this change will break the commandlet in 5.4. Are there further changes in this area incoming, or could there be something unusual about our project which is breaking this for us and not for everybody?
../../Content is an invalid path that can be created when normalizing. Jira [Link Removed] needs to be fixed to make normalize never return that path by fixing FPackageName. But that may be too complicated for a 5.4 hotfix. We might have to add a workaround function to test whether a path is ../../Content and change it to the proper ../../.. + leafnameof(../..). leafnameof(../..) will be either 'Engine' or '<ProjectRoot>' depending on the binaries directory of the executable.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-214935 in the post.
3 |
Component | UE - Foundation - Core |
---|---|
Affects Versions | 5.4 |
Target Fix | 5.5 |
Fix Commit | 33892312 |
---|
Created | May 14, 2024 |
---|---|
Resolved | May 24, 2024 |
Updated | Aug 8, 2024 |