Slate assets are not loading properly with standalone game and cooked content.
I made a prototype UI based on the Shooter sample. It runs fine if I’m playing the game through the editor, however if I cook my content and try to run it as a standalone game using Debug or DebugGame it crashes in the slate code because FSlateWidgetStyle::CustomStyle is NULL.
I traced the problem back to loading the SlateWidgetStyle *.uasset file that holds my menu data (sounds, textures, etc). When comparing debug data running through the editor I found that on ULinkerLoad::LoadAllObjects() ULinkerLoad::ExportMap contained a valid CustomStyle, but when running the stand alone game with cooked content the data was null as you can see below.
In Editor ExportMap
Standalone ExportMap
Looking even further back I stepped through the code where we create the Linker object and parse the data out of the *.uasset. Debugging the ULinkerLoad::NameMap I saw that there were 30 asset names in the Editor version but only 6 asset names for the standalone build. I’m unable to add more attachments to this question otherwise i show the differences, but the editor version contained asset names for all the audio, and texture assets that I had connected to the Slate menu widget, while the stand alone version contained none of them.
Does cooking the content strip the slate data out of the asset? If not does anyone have ideas as to why I would see this behavior?