I found the solution - disabling the “Async Loading Thread Enabled” in the project setting fixes it.
The real question, then, is if there is a way to make these two systems work nicely together? Or if there is even any real need to do so?
I found the solution - disabling the “Async Loading Thread Enabled” in the project setting fixes it.
The real question, then, is if there is a way to make these two systems work nicely together? Or if there is even any real need to do so?
I’m having trouble using Asset Groups for localizing audio assets in UE 4.25 and 4.26. I want the user to be able to select the text language and voice language as separate settings.
When my culture/language is equal to the Audio culture then the correct localized assets play (for example, if all three are set to “de-DE” then I hear the German audio assets).
But when these settings are not equal to each other then I always hear the English audio instead (for example if language/locale is “ru-RU” and Audio asset group is “de-DE” then the non-localized English source audio plays). In this case I also see some warnings in the log that may be related:
[2020.11.24-16.25.41:395][ 0]LogAudio: Display: Audio Device unregistered from world 'None'.
[2020.11.24-16.25.41:397][ 0]LogUObjectHash: Compacting FUObjectHashTables data took 0.53ms
[2020.11.24-16.25.41:417][ 0]LogPackageLocalizationCache: Warning: Skipping the cache update for 24 pending package path(s) due to a cache request from a non-game thread. Some localized packages may be missed for this query.
[2020.11.24-16.25.41:417][ 0]LogPackageLocalizationCache: Warning: Skipping the cache update for 24 pending package path(s) due to a cache request from a non-game thread. Some localized packages may be missed for this query.
[2020.11.24-16.25.41:417][ 0]LogPackageLocalizationCache: Warning: Skipping the cache update for 24 pending package path(s) due to a cache request from a non-game thread. Some localized packages may be missed for this query.
[2020.11.24-16.25.41:417][ 0]LogPackageLocalizationCache: Warning: Skipping the cache update for 24 pending package path(s) due to a cache request from a non-game thread. Some localized packages may be missed for this query.
[2020.11.24-16.25.41:417][ 0]LogAudio: Display: Audio Device (ID: 1) registered with world 'MainMenu'.
I am testing it in a standalone packaged build.
More details:
I have created an Asset Group for Audio based on the documentation, in DefaultGame.ini I have:
[Internationalization.AssetGroupClasses]
+Audio=SoundWave
+Audio=DialogueWave
+Audio=DialogueVoice
+Audio=SoundCue
And in DefaultGameUserSettings.ini I have the following (because the setting doesn’t get created by the Kismet library otherwise)
[Internationalization.AssetGroupCultures]
+Audio=en-US
I am using the Kismet localization library to update the settings from C++, based on selection from UMG widgets, like this:
For text language:
UKismetInternationalizationLibrary::SetCurrentLanguageAndLocale(GetCultureFromDisplayName(SelectedItem), true);
For audio language:
UKismetInternationalizationLibrary::SetCurrentAssetGroupCulture(FName(TEXT("Audio")), GetCultureFromDisplayName(SelectedItem), true);
This works fine in terms of updating GameUserSettings.ini, but results in the above-mentioned problems when trying to play audio.
I’m hoping that I am missing something obvious ![]()