Ao integrar a entrega de recursos, os jogos do Unity podem acessar pacotes de recursos usando Addressables ou AssetBundles. Os Addressables são a solução de entrega de recursos mais recente e recomendada para jogos criados com Unity 2019.4 ou mais recente, enquanto os AssetBundles dão suporte a pacotes de recursos no Unity 2017.4 e 2018.4.
Addressables do Unity
Jogos criados com Unity 2019.4 ou versões mais recentes precisam usar Addressables (link em inglês) para a entrega de recursos no Android. O Unity oferece a API Play Asset Delivery (PAD) para processar pacotes de recursos do Android usando Addressables. Para saber informações sobre como usar Addressables, consulte o estes links (em inglês):
- Pacote Addressables para Android
- Guia da PAD para Unity
- Documentação de referência da API PAD para Unity
Usar arquivos AssetBundle
Os jogos criados com Unity 2017.4 e 2018.4 podem usar arquivos AssetBundle para entrega de recursos no Android. Os arquivos AssetBundle (link em inglês) do Unity contêm recursos serializados que podem ser carregados pelo mecanismo do Unity enquanto o app está em execução. Esses arquivos são específicos da plataforma (por exemplo, criados para Android) e podem ser usados em combinação com pacotes de recursos. Geralmente, um arquivo AssetBundle é combinado em um único pacote que usa o mesmo nome do AssetBundle. Se você quiser mais flexibilidade na criação de um pacote de recursos, configure-o usando a API.
No ambiente de execução, use a classe Play Asset Delivery para Unity para extrair um AssetBundle empacotado em um pacote de recursos.
Pré-requisitos
- Configure o ambiente de desenvolvimento:
OpenUPM-CLI
Se a CLI do OpenUPM estiver instalada, você poderá instalar o registro do OpenUPM com o seguinte comando:
openupm add com.google.play.assetdeliveryOpenUPM
Abra as configurações do gerenciador de pacotes. Para isso, selecione a opção do menu do Unity Edit > Project Settings > Package Manager.
Adicione o OpenUPM como um registro com escopo à janela do gerenciador de pacotes:
Name: package.openupm.com URL: https://package.openupm.com Scopes: com.google.external-dependency-manager com.google.play.common com.google.play.core com.google.play.assetdelivery com.google.android.appbundleSelecione a opção do menu do Unity Window > Package Manager para abrir o menu do gerenciador de pacotes.
Defina o menu suspenso de escopo do administrador para selecionar My Registries.
Selecione o pacote plug-in do Google Play Integrity para Unity na lista de pacotes e pressione Instalar.
Importar do GitHub
Faça o download da versão mais recente do
.unitypackageno GitHub.Importe o arquivo
.unitypackageselecionando a opção de menu Assets > Import package > Custom Package do Unity e importando todos os itens.
Configurar AssetBundles usando a interface
Configure cada AssetBundle em um pacote de recursos:
- Selecione Google > Android App Bundle > Asset Delivery Settings.
- Para selecionar pastas que contenham arquivos do AssetBundle diretamente, clique em Add Folder.
Para cada pacote, mude o Delivery Mode para Install Time, Fast Follow ou On demand. Resolva erros ou dependências e feche a janela.
Selecione Google > Build Android App Bundle para criar o pacote de apps.
(Opcional) Configure seu pacote de apps para que ele seja compatível com diferentes formatos de compactação de textura.
Configurar pacotes de recursos usando a API
Você pode configurar a entrega de recursos pelos scripts de editor, que podem ser executados como parte de um sistema de compilação automatizado.
Use a classe AssetPackConfig para definir quais recursos incluir em uma compilação do Android App Bundle, bem como o modo de transferência dos recursos. Esses pacotes de recursos não precisam conter um
AssetBundle.
public void ConfigureAssetPacks {
// Creates an AssetPackConfig with a single asset pack, named
// examplePackName, containing all the files in path/to/exampleFolder.
var assetPackConfig = new AssetPackConfig();
assetPackConfig.AddAssetsFolder("examplePackName",
"path/to/exampleFolder",
AssetPackDeliveryMode.OnDemand);
// Configures the build system to use the newly created assetPackConfig when
// calling Google > Build and Run or Google > Build Android App Bundle.
AssetPackConfigSerializer.SaveConfig(assetPackConfig);
// Alternatively, use BundleTool.BuildBundle to build an App Bundle from script.
BuildBundle(new buildPlayerOptions(), assetPackConfig);
}
Você também pode usar o método estático
BuildBundle
na classe Bundletool para gerar um Android App Bundle com pacotes
de recursos, usando
BuildPlayerOptions (link em inglês)
e
AssetPackConfig.
Observação: para conferir um tutorial guiado, consulte o codelab Como usar a Play Asset Delivery em jogos do Unity.
Integrar com a API Play Asset Delivery Unity
A API Unity Play Asset Delivery oferece a funcionalidade de solicitar pacotes de recursos, gerenciar downloads e acessar os recursos. Primeiro, adicione o plug-in do Unity ao projeto.
As funções usadas na API dependem de como você criou os pacotes de recursos.
Se você criou pacotes de recursos usando a IU do plug-in, selecione Pacotes de recursos configurados pelo plug-in.
Se você criou pacotes de recursos usando a API (ou a interface do plug-in), selecione Pacotes de recursos configurados pela API.
Próximas etapas
Teste a entrega de recursos localmente e no Google Play.