IAssetRegistry::GetChecked().ScanPathsSynchronous() now eventually calls FPathExistence::LoadExistenceData
and logs the error

FPathExistence failed to gather correct capitalization from disk for <path>, because GetFilenameOnDisk returned a non-matching filename.

This doesn't handle junctions; in one project audio & localization data is not stored in perforce, it's downloaded and mounted as a UGS post sync step:

LocalAbsPath = <root>/<project>/Content/Sound 
CorrectedCapitalization = <root>/<project>/LocAudioDepot/Sound
Steps to Reproduce

Mount a subdirectory in the content directory of a content used by the game as a junction on disk.

mklink /J <ProjectRoot>/Content/LocAudioDepot d:\scratch\DownloadedAudioContent

Error will be given in editor and cookcommandlet startup when data from /Game/LocAudioDepot is scanned.

Have Comments or More Details?

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

Login to Vote

ComponentUE - Foundation - Core - Cooker
Affects Versions5.45.5
Target Fix5.5
CreatedMay 23, 2024
UpdatedJun 17, 2024
View Jira Issue