O que você está procurando?
Hero background image
Simplifique seu gerenciamento de conteúdo com o Addressables

Saiba como o Addressable Asset System pode simplificar o gerenciamento de conteúdo na edição e no tempo de execução para que os lançamentos iniciais e atualizados do seu jogo sejam mais fáceis e tranquilos. Este artigo é baseado em uma palestra de Bill Ramsour, da equipe de conteúdo ao vivo, apresentada na Unite Copenhagen 2019.

Visão geral dos endereçáveis

O Addressable Asset System (ou seja, Addressables) é um Unity Editor e um sistema de gerenciamento de ativos em tempo de execução que melhora o suporte para grandes equipes de produção com necessidades complexas de entrega de conteúdo ao vivo. O sistema usa carregamento assíncrono para suportar o carregamento de qualquer local com qualquer coleção de dependências. Ao empacotar pacotes de ativos com mais eficiência e reduzir o tempo de iteração, o Addressables oferece uma maneira simples de tornar seu jogo mais dinâmico.

O Addressables aborda os desafios dos desenvolvedores, como tempo de iteração, gerenciamento de dependências, gerenciamento de memória e empacotamento de conteúdo.

fluxo de trabalho do addressables
Fluxo de trabalho dos endereçáveis

Quando um ativo (por exemplo, um Prefab) é marcado como "endereçável", ele gera um endereço que pode ser chamado de qualquer lugar. Onde quer que o ativo resida (local ou remoto), o sistema o localizará e suas dependências e, em seguida, o retornará. Um ativo é o conteúdo que você usa para criar seu jogo ou aplicativo. Exemplos comuns de ativos incluem Prefabs, texturas, materiais, clipes de áudio e animações.

O Addressables abstrai os pacotes de ativos para tornar o gerenciamento de conteúdo mais eficiente, ao mesmo tempo em que contém o ativo e todos os seus dados subjacentes.

No fluxo de trabalho Addressables, a solicitação passa primeiro pelo sistema Catalog. O sistema decodifica o endereço em um local, que consiste nos dados gerados durante a construção sobre o que é o ativo, suas dependências, se é local ou remoto e assim por diante.

A partir do Catálogo, a solicitação passa pelo sistema do Provedor. Um ou mais provedores usam esses locais para encontrar o conteúdo e devolvê-lo ao dispositivo.

Em Addressables, o tempo de execução é assíncrono. Isso lhe dá a flexibilidade de recuperar um ativo quando precisar dele, não importa onde esteja - sua localização pode mudar dependendo do estágio de desenvolvimento em que você se encontra - sem precisar alterar o código do jogo.

grupos do addressables
grupos do addressables

Quando você marca algo como endereçável, ele se torna parte de um Grupo de Endereçáveis, que é um contêiner para os ativos endereçáveis e seus dados. Você pode visualizar os grupos na janela Groups, que é a base para os Addressables. Os grupos podem determinar se esse ativo será local em um dispositivo ou em um servidor.

Os dados dos Addressables Groups são mantidos em esquemas, que são contratos de dados. Um dos esquemas se concentra em como seus ativos e conteúdo serão criados em pacotes. Build Path e Load Path estão entre as configurações mais úteis, permitindo que você defina seu conteúdo como local ou remoto selecionando uma variável nos menus suspensos.

No sistema Addressables Profile, você cria um perfil para um Addressables Group e, em seguida, define para um determinado perfil o que deseja que as variáveis avaliem. Isso permite que você defina os dados do seu grupo e faça alterações remotamente sem precisar recodificar nenhuma parte desse grupo.

Produção

Para tirar o máximo proveito do Addressables, é útil visualizar seus dados em termos de como você deseja enviar seu jogo. Você não precisa se comprometer com uma estrutura, pois é fácil alterar as variáveis do Profile durante o desenvolvimento, mas deve ter uma abordagem geral para organizar seus pacotes.

Por exemplo, se você quiser enviar seu jogo com conteúdo remoto, mas quiser que esse conteúdo seja local durante o desenvolvimento, poderá criar um perfil em que os caminhos remotos apontem para os ativos de streaming. Dessa forma, você pode alterar globalmente todo o seu conteúdo remoto para se tornar local sem tocar no código do grupo.

hospedagem do editor do addressables
Editor de hospedagem

Às vezes, você precisa hospedar conteúdo em um servidor. Você pode configurar um caminho remoto e, em vez de apontar para o URL real, usar as variáveis definidas pelo seu serviço de hospedagem.

Quando você ativa a hospedagem, o Hosting Service configura um host HTTP no Editor. Você pode conectar seu dispositivo ou player a esse host para testar as coisas.

Um recurso avançado da hospedagem do Editor é que você pode configurar tudo para ser remoto. Isso é especialmente útil para desenvolvedores de conteúdo e artistas, pois você pode criar um player e implantá-lo no seu dispositivo enquanto continua a iterar seu conteúdo. Você não precisa reimplantar o player nem se preocupar em mover o conteúdo de um dispositivo para outro. Consulte nossa documentação para saber mais sobre como criar e configurar serviços de hospedagem com endereçáveis.

Com muitos dos principais desafios técnicos de suporte a conteúdo dinâmico resolvidos pela Addressables, o problema da "última milha" ainda permanece: a hospedagem e o fornecimento de ativos para jogos e aplicativos de produção ao vivo. Ainda este ano, lançaremos uma solução de hospedagem de conteúdo global pronta para empresas, totalmente integrada ao sistema Addressables. Se você quiser saber mais sobre esse serviço, inscreva-se aqui.

Como carregar ativos em Addressables

A equipe de conteúdo ao vivo tem trabalhado em fluxos de trabalho para acelerar as coisas para você, incluindo algumas maneiras rápidas de carregar ativos.

Como você pode carregar ativos em Addressables?

Por endereço: Os programadores geralmente carregam os endereçáveis por string, usando o identificador de local do ativo para facilitar a recuperação em tempo de execução.

Por rótulo: Fornece um identificador de ativo endereçável adicional para carregamento em tempo de execução de itens semelhantes.

Por AssetReference: O AssetReference funciona como uma referência direta, mas com inicialização diferida. O objeto AssetReference armazena o GUID como um endereçável que você pode carregar sob demanda. Os artistas que trabalham no Editor podem preferir esse fluxo de trabalho.

Se o ativo que você está referenciando tiver subobjetos (como sprites em um SpriteAtlas), você poderá fazer referência adicional ao subobjeto.

Se você quiser ver os Addressables e o processo de carregamento de sprite em ação, confira a parte da sessão de demonstração de sprite.

personalizando sua criação do addressables
Personalizando sua construção

O pacote Addressables tem três scripts de compilação que criam dados do Play Mode para ajudá-lo a acelerar o desenvolvimento de aplicativos. Os scripts são Use Asset Database, Simulate Groups e Use Existing Build.

O script Use Asset Database . Isso permite que você entre e saia do Modo de Jogo enquanto estiver iterando no conteúdo; você pode executar o jogo rapidamente enquanto trabalha no fluxo do jogo. Ele carrega ativos diretamente do banco de dados de ativos para iteração rápida, sem análise ou criação de pacotes de ativos.

Para ver quando os pacotes são carregados ou descarregados durante o jogo, veja o uso do ativo na janela Addressables Event Viewer(Window > Asset Management > Addressables > Event Viewer). Esse modo ajuda a simular estratégias de carga e ajustar os grupos de conteúdo para encontrar o equilíbrio certo para uma versão de produção.

O script Use Existing Build é como uma compilação de aplicativo implantado, mas exige que você crie os dados em uma etapa separada. Se você não estiver modificando ativos, esse modo é o mais rápido, pois não processa nenhum dado ao entrar no modo Play.

Onde posso obter mais informações sobre Addressables?

Se quiser usar Addressables em seu projeto, consulte a documentação do Addressable Asset System para saber como começar. Leia nossa publicação no blog, confira as amostras do GitHub ou participe das discussões nos fóruns.

Cloud Content Delivery A última milha

Lançado em setembro de 2020, o Cloud Content Delivery (CCD) é nossa própria solução de hospedagem de conteúdo global pronta para empresas, totalmente integrada ao sistema Addressables. Com o CCD, você pode criar e lançar atualizações de jogos sem esforço, com gerenciamento avançado de ativos e fornecimento de conteúdo via nuvem - funcionalidade essencial para a operação de jogos e aplicativos ao vivo. Saiba mais e inscreva-se aqui.

Você gostou deste conteúdo?