Hi there! I had a quick question about texture localization.
When enabling localization in a project, do players download all language textures or only the ones for their selected language ?
Hi there! I had a quick question about texture localization.
When enabling localization in a project, do players download all language textures or only the ones for their selected language ?
They will download all files from your project, including every language variant for each asset, for meshes, textures, materials and so on… They download everything even if is not currently being used.
Related to localization on the client, some stuff supports quick language swaps (change language in settings and instantly see the changes on the map), but other things does not support it. This mean that some things only gets updated properly when relaunching the game (such as localized materials and textures).
Okay! Thank you, so I better optimize the data size lol
Hi there! Just another quick question related to localization, if I customized the material on the OG texture let’s say to increase brightness, will all the localized ones will automatically have the same material applied or I need apply it TO ALL of them?
The localized asset is the one that will be replaced:
What you can do is using Material Instances. That way, you localize the instances and not the base material, and, any changes made to the base material will be propagated to the instances…
Okay everything seems to work, but somethings odd. Some of my verse messages are properly localized in the .po file but some other aren’t, I’m using this to pass dynamically my strings:
Text := StringToMessage("You already completed this quest.")
StringToMessage<localizes><public>(Value:string) : message="{Value}"
(Value : string).StringToMessage<public>() : message = StringToMessage(Value)
In this example, “You already completed this quest.” is not in the .po file for some reason. Did I do something wrong or?
String to Message does not get localized, because that is not a pre-made message bank to be compiled into the PO files…
You should do instead:
T_Loc_QuestComplete_Message<public><localizes>:message = "You already completed this quest"
This will properly generate the message on the message bank for auto localization picking it.
If you want to pass additional params, you should do that only for the params you need and not passing entire text (This way the text will be localized and the params will display on it):
T_Loc_PurchaseSuccess_Message<public><localizes>(ItemsPurchased:int, CoinsSpent:int):message = "You successfully purchased {ItemsPurchased} items for a total of {CoinsSpent} coins!"
The “StringToMessage” function is passing the entire string as a parameter to the message, and the message itself is blank, so no text is generated on the PO of that message to be translated…
Thanks a lot for the explanation!