Hi, I’m trying to use custom configurations depending on platform and storefront in order to make crossplay to work with EOS. I noticed and tried to use the -CustomConfig parameter but with no luck to actually make it work. It includes correctly and package them but they won’t load in a packaged game.
The forum post you referenced seems to depend on custom engine modifications. The post references a blog post which itself references a custom GH repo. We can’t comment on how that engine customization should be used.
The default CustomConfig feature involves multiple targets which themselves results in a separate package for each store config. The Lyra sample is a good example of how it works. It defines 3 extra targets: LyraGameEOS, LyraGameSteam and LyraGameSteamEOS. When launching BuildCookRun, the target can be selected by adding -target=LyraGameXXX.
I see that you are using the iterative cooking mode (-iterate). This mode should only be used for local iteration and never on build machines for official builds. The mode has issues with the detection of dependencies with can result in content not being cooked when it was changed. Version 5.6 now offers the Incremental cook feature which is better at tracking the different dependencies that affect the cooked content. The feature is Experimental in 5.6 and some bugs where addressed in version 5.7 which sees the feature tagged as Beta.
-CustomConfig maps on TargetRules.CustomConfig when running UBT. It is used as the default value for the field. That “default” value will get overwritten if the project’s target rules class is setting the field. It would be easy to set a target rules to support both cases, the actual default for that member is an empty string the code could check if the value is already set and use that instead of setting it.
You would use that argument as part of the -ubtargs when the extra targets are not created.. The extra targets are making it more explicit and easier for team members to generate local packages as they are available in the Platform menu at the editor level.