Island Codes Do Not Match When Publishing and doing Memory Calc

Summary

When publishing a project, Island Codes do not match. First I will “Publish Project” in the editor, it generates a code. I then go to “Launch Memory Calc” directly after, it generates a new code and repushes all changes. I then have to repeat the process.

This happens more often in large projects, and I believe it’s due to auto localization setting. With the auto localization setting on, sometimes it takes 4-5 tries to get matching codes.

Please select what you are reporting on:

Unreal Editor for Fortnite

What Type of Bug are you experiencing?

Publishing

Steps to Reproduce

Publish a project, then launch memory calc or vice versa, see if island codes match.

This bug does not occur 100% of the time. It happens more often in larger projects.

Expected Result

Island codes should match first try.

Observed Result

Island codes do not always match and publishing needs to be restarted. In larger projects this can set us back 30-60 minutes

Platform(s)

PC

Video

Additional Notes

SOLUTION: The best solution to avoid the issue is turn off auto localization and do the localization manually before every publish.

If you cancel Launching Memory Calculation, it will calculate the project.

For me sometimes it just calculates something like 690 memory even tough its like 70-80k..:sob:

Hi folks, could we get some island codes so we can investigate? @JivanMaps

@JivanMaps - Can we please get your editor logs too? How to get your Fortnite logs

Hey Flak, this happens pretty consistently in both of these islands when auto localization is turned on.
9664-2937-0308
4829-2803-4516

UnrealEditorFortnite.log (7.7 MB)

Thank you so much!

@JivanMaps I can see from your logs that you have localization data in your project that’s being merged with the localization data in the scratch directory during build code generation. If you do a manual localization export to update the data in your project, does the issue then go away (even if you have auto localization enabled during build code generation)?

I suspect you have a stale entry in your in-project localization data (eg, a source string has changed since your last project export), and since that data takes priority when we merge the project data into the scratch directory, that would result in the scratch PO files having an entry that is reset when the localization export updates those PO files, which then means there’s something for auto localization to translate every time you make a build code.

Also, are you using Unreal or Crowdin style PO files? You can find that in your Project Settings, though if you’re not sure then you’re likely using the default (Unreal).

Hey @JivanMaps, could you make a copy of C:/Users/Jivan/AppData/Local/UnrealEditorFortnite/Intermediate/Localization/AlienHeroAdventure/en/AlienHeroAdventure.po after making each version, so you can diff against it to see what has changed?

@JivanMaps I’ve reproduced this locally and it is what I suspected. The stale localization data in the project fights with the data in the scratch directory.

I have a fix for this, but a workaround for now (if you have localization data in your project) is to make sure that you Export Localization into your project before making any build codes. You don’t need to run auto localization on your project data, as just the export is enough to stop the two sets of localization data fighting each other.

Correct, this is how we’ve been working around it in our projects, by building and importing the localization data before every publish. It doesn’t take long to do so, so it’s no problem. Just wanted to get this on epic’s radar for anyone else who may have been struggling with auto localization. Thanks for working on a fix for this!

I’ve submitted a fix for this to 40.30. We now only merge the project localization data into the scratch data when the file in the project is newer than the file in the scratch, which avoids us trying to repeatedly merge stale data.

1 Like

FORT-1084858’s status has changed to ‘Ready for QA’. A member of the QA department is investigating the issue.