In order to change the culture during the game, I use the console command “culture=en” in a blueprint node and it works perfectly in PIE as well as in a development packaged build but in a shipping build the command does nothing.
Since there is no console nor log on shipping builds it’s impossible to know what’s the problem.
Is it a bug or do I need to use something else to change culture in a shipping build?
I found 2 others observations, maybe useful to track down the problem:
The default culture does not work in a packaged build, it’s always the native one that is used.
I also tried to add the command as a parameter to the executable and it works! It proves that the localization data are correctly exported with the build so the only problem is the command to switch it.
Does someone from Epic has some information about this?
I tested it in a clean project and I get the same results both in 4.12 and 4.13.
create a new blank project
add a text render actor in front of the player start
enter any text in english in the text value of the text render actor
configure the project localization to have english and french
use the localization dashboard to translate the text in french
in the level blueprint, add a keyboard event for the “E” input plugged to an execute console command node with the value “culutre=en” and an event for “F” plugged to the command “culture=fr”
When you play and you press E or F you will see the text switching between the english text and the french text.
It works in PIE and in a development build in 4.12 and 4.13 but it doesn’t work in a shipping build for both editor versions.
I heard back from one of our Engineers and what it’s sounding like is since you’re packaging in shipping, the console command is not going to work. This is because console commands aren’t included in shipping builds. Have you tried using the SetCurrentCulture from your blueprints?