Como coletar ativos
A coleta de ativos é a parte do pipeline de localização que usa mais recursos. Isso ocorre porque a localização geralmente precisa carregar os ativos (e suas dependências) para extrair os valores de texto localizáveis contidos neles. Para minimizar o número de ativos que precisam ser carregados durante uma coleta, a Unreal Engine (UE) adiciona um "cache de coleta" ao cabeçalho dos arquivos de ativos (gerados ao salvar), o que significa que apenas o cabeçalho do ativo precisa ser carregado para reunir o texto.
Você pode visualizar o cache atual de um ativo acessando o menu Asset Localization no Navegador de Conteúdo e selecionando Show Localization Cache.

Alguns tipos de ativos (como Blueprints ou níveis com um Blueprint de nível não vazio) não conseguem gerar um cache de coleta devido ao uso de bytecode. Isso ocorre porque a UE reúne valores de texto do bytecode, que é muito volátil para ser armazenado em cache de forma confiável ao salvar.
Um resumo de quantos ativos não foram armazenados em cache devido ao bytecode é exibido no log durante uma coleta de ativos. Se a coleta de ativos passar a maior parte do tempo coletando a partir de ativos que contêm bytecode, considere mover o texto desses ativos para as tabelas de strings, assim você poderá fazer referência a essas entradas.
Apenas ativos que contêm um valor de texto serializado que passa "FText::ShouldGatherForLocalization" são carregados durante uma coleta de ativos. Textos inalterados por cultura, vazios e com apenas espaços em branco, bem como referências de tabelas de strings, falham nessa verificação. É por isso que usar uma tabela de strings pode melhorar o desempenho na coleta de ativos.
Como validar caches de ativos
Existem alguns utilitários disponíveis para ajudar a relatar ou corrigir caches de coleta obsoletos ou ausentes nos ativos do projeto. Eles demoram um pouco para serem executados, pois precisam carregar todos os ativos na memória. No entanto, podem oferecer uma economia significativa no futuro se você tiver um número grande de ativos sem cache. Esses utilitários são executados como argumentos extras no commandlet de localização normal.
Exemplo:
-run=GatherText-config=Config/Localization/Game_Gather.ini
-ReportStaleGatherCache
Se estiver atualizando um projeto de uma versão da Unreal Engine anterior à 4.20, execute pelo menos "ReportStaleGatherCache" para verificar se o cache está atualizado, pois caches obsoletos podem causar problemas de localização.
Essas opções não são expostas no Localization Dashboard. Em vez disso, você deve usar o arquivo de coleta .ini gerado pelo painel para o destino de localização e executar o commandlet de localização manualmente.
| Argumento | Descrição |
|---|---|
| "ReportStaleGatherCache" | Gera um arquivo "StaleGatherCacheReport.txt" junto com o manifesto para o destino da localização. Este arquivo contém uma lista de todos os ativos que contêm um cache de coleta obsoleto. |
| "FixStaleGatherCache" | Tenta corrigir automaticamente ativos que contêm um cache de coleta obsoleto, salvando-os de novo. |
| "FixMissingGatherCache" | Para ativos muito antigos terem um cache de coleta, esta opção tenta corrigir de forma automática os ativos que não têm um cache de coleta, salvando-os de novo. |