Essa página fornece uma visão geral dos conceitos-chave de pacotes e tutoriais para preparação e empacotamento. Para pular direto para os tutoriais, confira Vamos preparar conteúdo e Vamos empacotar um Projeto.
O que é empacotamento?
Empacotamento é um processo que converte um projeto da Unreal Engine em um executável (.exe) ou aplicativo independente.
O processo de empacotamento compila o conteúdo de um projeto em um formato que pode ser executado em uma plataforma-alvo, como Windows, iOS ou um console. Por exemplo, quando você baixa um jogo na máquina, os arquivos executáveis e de dados que você recebe foram empacotados para garantir a compatibilidade com o sistema operacional.
O empacotamento pode ocorrer em vários estágios do pipeline de desenvolvimento:
Produção e testes
Durante a produção e os testes, o empacotamento pode ser usado para verificar a funcionalidade de um projeto. Por exemplo, controle de qualidade (CQ) ou testes de um projeto empacotado em plataformas móveis.
Distribuição
Durante a distribuição, também chamada de entrega, o empacotamento é usado para preparar uma compilação final para o lançamento.
Pós-produção
Durante a pós-produção, o empacotamento pode ser usado para distribuir atualizações de conteúdo, como conteúdo para download (DLC) e patches.
Uma compilação final é um projeto que está pronto para usuários ou jogadores.
Plataformas-alvo compatíveis
Uma plataforma-alvo é um sistema operacional ou console em que um projeto será executado. A Unreal Engine é compatível com empacotamento para as seguintes plataformas-alvo:
Plataformas de desktop, como Windows, macOS e Linux.
Plataformas móveis, como iOS, iPadOS, tvOS e Android.
Todos os principais consoles.
Plataformas XR (realidade estendida), como OpenXR, PS VR2, ARKit, ARCore e visionOS.
Softwares adicionais
O desenvolvimento e o empacotamento para Windows e macOS não exigem softwares adicionais.
O desenvolvimento e o empacotamento para consoles exigem uma compilação do código-fonte da Unreal Engine e não podem usar a versão pré-compilada obtida por meio do Inicializador da Epic Games. É possível baixar uma compilação do código-fonte no GitHub.
O desenvolvimento e o empacotamento para algumas plataformas-alvo, como Linux, dispositivos móveis e XR, pode exigir Kits de Desenvolvimento de Software (SDKs) e componentes da Unreal Engine adicionais. Para obter mais informações sobre SDKs para sua plataforma de destino, consulte Compartilhamento e liberação de projetos. Para obter mais informações sobre os componentes do Unreal Engine, consulte Instalação da Unreal Engine..
Como funciona o empacotamento?
O empacotamento de um projeto é uma operação de compilação. Compilar, preparar e estagear são operações de compilação que contribuem para o processo de empacotamento.
Compilação
Durante essa fase, o código, os plugins e os binários do projeto são compilados para a plataforma de destino. Se o projeto usar C++, todo o código será compilado em binários.
Preparação
Durante essa fase, os ativos do projeto (geometria, materiais, texturas, Blueprints, áudio e muito mais) são salvos em um formato que pode ser executado na plataforma de destino. Os ativos são otimizados para aumentar a eficiência de carregamento.
Estagiamento
Durante essa fase, o código compilado e o conteúdo preparado são copiados para um diretório de estagiamento.
Um diretório de estagiamento é uma pasta temporária na sua unidade, fora do diretório de desenvolvimento, que você designa durante o processo de empacotamento.
Pacote
Durante essa fase, o código compilado e o conteúdo preparado são agrupados em um conjunto de arquivos distribuíveis dentro do diretório de estagiamento. Por exemplo, no Windows, os arquivos distribuíveis incluem um instalador ou executável e uma pasta contendo arquivos Pak (
.pak).(Opcional) Implantação
O projeto é enviado a uma plataforma-alvo, onde será executado.
(Opcional) Execução
Essa fase inicia o projeto a partir do Unreal Editor na plataforma-alvo. Essa operação é ideal quando iterando e testando rapidamente em um dispositivo que não seja seu desktop local.
Operações de compilação
Embora cada operação de compilação contribua para o processo de empacotamento, elas também podem ser realizadas de maneira independente.
Quando realizada de forma independente, cada operação é útil de forma exclusiva em diferentes estágios de desenvolvimento. Por exemplo, a operação de preparação pode otimizar e salvar ativos específicos em vez de todos os ativos no nível do jogo, o que a torna ideal para distribuir atualizações de conteúdo, como DLC ou patches.
Para comparar a utilidade de cada operação de compilação, confira a tabela abaixo:
| Operação de compilação | Exemplo de uso |
|---|---|
Compilação | Compilação de código durante o desenvolvimento. |
Preparação | Preparação de um projeto para testes de controle de qualidade ou distribuição. Preparação de DLCs e patches para testes ou distribuição. |
Estagiamento | Preparação de um projeto para testes de controle de qualidade ou distribuição. |
Pacote | Preparação de um projeto para testes de controle de qualidade ou distribuição. |
Implantação | Testar um projeto em uma plataforma que não seja seu computador desktop local, como console ou móvel. |
Execução | Testar um projeto em uma plataforma que não seja seu computador desktop local. Usuários que executam um projeto enviado em uma plataforma-alvo. |
Preparação de conteúdo
Preparação é uma operação de compilação que prepara o conteúdo do jogo para que possa ser executado fora do Unreal Editor. Ela é realizada como parte do processo de empacotamento, mas também pode ser realizada de maneira independente.
A preparação é necessária porque:
Garante que o conteúdo do jogo seja otimizado e compatível com a plataforma-alvo.
É necessária antes do empacotamento de uma compilação final para distribuição ou teste em um dispositivo, como dispositivos móveis ou consoles.
Converte formatos exclusivos do editor em formatos prontos para tempo de execução.
Tempo de execução refere-se ao período em que um projeto está em execução na plataforma-alvo.
As seguintes tarefas são executadas durante o processo de preparação:
Ativos (geometria, materiais, texturas, Blueprints, áudio e mais) são convertidos em um formato específico da plataforma.
Ativos são compactados e otimizados, quando possível.
Os dados não utilizados não são incluídos, a fim de reduzir o tamanho do projeto no disco e melhorar o desempenho.
Os Blueprints são compilados em seu código nativo, se necessário.
Mapas e Níveis são processados e otimizados.
O conteúdo preparado é armazenado em um ou mais arquivos Pak (
.pak).
Durante a preparação, a otimização elimina qualquer conteúdo que não seja referenciado pelos níveis ou pelo código do jogo do projeto. Por exemplo, ativos que aparecem no Navegador de Conteúdo do Unreal Editor, mas não no nível do jogo, não serão preparados.
Ao preparar de forma independente, os arquivos são copiados para o diretório de desenvolvimento em vez do diretório de estagiamento.
Para obter mais informações sobre o processo de preparação, confira a documentação Content Cooking.
Arquivos Pak e segmentação de arquivos Pak
Um arquivo Pak (.pak) é um formato de arquivo que a Unreal Engine usa para armazenar conteúdo preparado. Embora arquivos Pak sejam o tipo de arquivo padrão, você pode explorar os outros tipos de arquivo de arquivamento nas Configurações de empacotamento do projeto.
Os arquivos Pak podem ser separados em arquivos Pak menores, chamados de chunks. Ao usar chunks, você pode atribuir ativos específicos do seu projeto a um chunk. Isso é útil nas seguintes situações:
Separando o conteúdo DLC ou patches que você não deseja incluir no projeto totalmente empacotado.
Instalação em transmissão. Chunks permitem personalizar a prioridade do conteúdo que é baixado primeiro.
Instalação em transmissão é uma maneira de os usuários interagirem com um projeto lançado antes da conclusão da instalação. Isto é ideal para jogos de console, permitindo que os jogadores joguem mais rapidamente.
Para obter mais informações sobre arquivos Pak e segmentação de arquivos Pak, confira Preparação e segmentação e Preparação de ativos para segmentação.
Vamos preparar conteúdo
Há dois métodos para preparar conteúdo para um projeto:
| Método de preparação | Descrição |
|---|---|
De acordo com as regras (padrão) |
|
Em tempo real |
|
Preparação de acordo com as regras
Para preparar conteúdo de acordo com as regras, siga estas etapas:
Na barra de ferramentas principal do Unreal Editor, abra o menu Plataformas.
Na lista, selecione uma plataforma-alvo. Isso prepara apenas o conteúdo para a plataforma-alvo selecionada. Em Gerenciamento de conteúdo, clique em Preparar conteúdo.
Após clicar em Preparar conteúdo, uma caixa de diálogo aparecerá no canto inferior direito do Unreal Editor. Isso exibe o progresso da preparação e os estados de conclusão ou falha.
Durante a preparação do conteúdo, a caixa de diálogo exibe Preparando conteúdo para [plataforma-alvo].
Quando a preparação estiver concluída, a caixa de diálogo exibirá Preparação concluída!
Preparação em tempo real
Para habilitar a preparação em tempo real, siga estas etapas:
Na barra de ferramentas principal do Unreal Editor, abra o menu Plataformas.
No menu, marque a caixa de seleção Habilitar preparação em tempo real.
Com a preparação em tempo real habilitada, a preparação pode ser realizada seguindo as mesmas etapas de Preparação de acordo com as regras.
Configurações de compilação
Para empacotar um projeto, você deve escolher uma configuração de compilação. Uma configuração de compilação é uma predefinição que determina como o projeto é compilado e quais códigos e conteúdos são disponibilizados.
Cada configuração é útil em diferentes estágios de desenvolvimento porque prioriza fatores diferentes, incluindo:
Desempenho
Nível de otimização
Tamanho do arquivo do projeto
Acesso a ferramentas de depuração
Por exemplo, a configuração Lançamento é ideal para distribuir jogos nos quais os jogadores não devem ter acesso a comandos do console que possam prejudicar o jogo. Depuração e Desenvolvimento, que incluem comandos de console, são ideais para otimizar e testar um jogo durante o desenvolvimento.
Para uma comparação de todas as configurações de compilação, consulte a tabela abaixo:
| Configuração da compilação | Descrição | Estágio de desenvolvimento | Exemplo de uso |
|---|---|---|---|
Depuração |
| Desenvolvimento. Essa configuração não é adequada para distribuição. |
|
DebugGame |
| Desenvolvimento. Essa configuração não é adequada para distribuição. |
|
Desenvolvimento (padrão) |
| Desenvolvimento. Essa configuração não é adequada para distribuição. |
|
Teste |
| Usado para testar versões internamente sem sobrecarga total das ferramentas de depuração. |
|
Lançamento |
| Distribuição. Essa configuração não é adequada para desenvolvimento. |
|
Para obter mais informações sobre as configurações de construção, consulte Referência de configurações de construção.
Configurações de empacotamento
Predefinições, como configurações de compilação e muitas outras opções para personalizar o processo de empacotamento podem ser encontradas em Configurações do projeto > Empacotamento.
Essa janela pode ser acessada de duas posições no Unreal Editor:
Na barra de ferramentas principal do editor, clique no menu Plataformas. Em seguida, clique em Configurações de empacotamento.
Na barra de menus do Editor, clique em Editar > Configurações de Projeto. A janela Configurações do projeto será aberta. No menu de navegação à esquerda, clique em Empacotamento.
A seção Empacotamento inclui, mas não está limitada a, opções para:
Predefinições de compilação personalizadas
Configurações de compilação
Alvos de compilação
Símbolos de depuração
Executáveis
Localização
Compressão
Como consolidar
Arquivos de configuração (
.ini)Shaders
Tipos de arquivo (Pak, Chunk, Utoc e Ucas)
Filmes (por exemplo, um filme pré-renderizado que é reproduzido antes do jogo)
Para obter uma explicação detalhada das opções disponíveis em Empacotamento, confira a seção Empacotamento do Project.
Vamos empacotar um projeto
Neste tutorial, você aprenderá como empacotar um projeto para Windows utilizando a operação de compilação Empacotar e a configuração de compilação Desenvolvimento.
Para colocar em prática o que você aprendeu nos segmentos anteriores, conclua as seguintes tarefas:
Ao final do tutorial, você terá um jogo executável que poderá executar, testar e encerrar. Esse fluxo de trabalho simula como é testar um jogo da Unreal Engine durante a produção.
Para concluir este tutorial, você precisará de:
Uma máquina com Windows
A Unreal Engine
Um projeto da Unreal Engine usando o modelo de Primeira pessoa na variante Arena de jogo de tiro.
Antes de começar
Abra seu projeto no Unreal Editor.
Como configurar um mapa padrão de jogo
O Mapa padrão de jogo é o mapa carregado na inicialização do projeto empacotado. Todo projeto deve definir um Mapa padrão do jogo antes do empacotamento. Sem ele, não há nada para o projeto carregar em tempo de execução.
Se um Mapa padrão de jogo não estiver definido, o projeto exibirá uma tela preta na inicialização. A exceção a essa regra é o uso de um modelo de projeto, que define um Mapa padrão de jogo de maneira automática.
Você alterará o mapa nas seguintes etapas:
Na barra de menus do Editor, clique em Editar > Configurações de Projeto.
Na janela Configurações de projeto, no menu de navegação à esquerda do cabeçalho Projeto, clique em Mapas e modos.
Expanda o título Mapas padrão e clique no menu suspenso Mapa padrão do jogo. Procure
Lvl_ArenaShootere selecione-o.
Você também pode definir o mapa selecionando-o no Navegador de conteúdo e, em seguida, clicar no ícone Usar ativo selecionado no Navegador de conteúdo, na janela Configurações de projeto.
Como definir uma configuração de compilação
A configuração de compilação determina como seu projeto é compilado. Todo projeto deve ter uma configuração de compilação definida antes do empacotamento. A Unreal Engine usará a configuração Desenvolvimento como padrão, a menos que você a altere.
Ainda na janela Configurações de projeto, clique em Empacotamento no menu de navegação à esquerda.
Expanda o cabeçalho Projeto. Verifique se a opção Configuração da compilação está definida como Desenvolvimento. Se não estiver, clique no menu suspenso e defina-a como Desenvolvimento.
Usando a configuração Desenvolvimento, você pode acessar o console no jogo durante o tempo de execução. Você usará o console no jogo para executar comandos do console posteriormente neste tutorial.
O console no jogo é uma interface de linha de comando que permite interagir com a engine durante o tempo de execução.
Como criar um projeto empacotado
O empacotamento cria um executável ou aplicativo independente a partir de um projeto da Unreal Engine. Neste caso, você empacotara para a plataforma-alvo Windows e criará um executável que você iniciará mais adiante neste tutorial.
Para empacotar um projeto, siga estas etapas:
Na barra de ferramentas principal do editor, clique no menu Plataformas. Em Conteúdo/SDK/Gerenciamento de dispositivos, você verá uma lista de plataformas. Para este tutorial, selecione Windows.
Dependendo da plataforma para a qual você está desenvolvendo e dos SDKs instalados, as plataformas listadas em Conteúdo/SDK/Gerenciamento de dispositivos podem ser diferentes.
No novo menu de contexto, em Configuração de binário, verifique se a opção Usar configurações de projeto (Desenvolvimento) está selecionada. Os parênteses mostram qual configuração de compilação está selecionada nas configurações do pacote.
Você pode alterar rapidamente a configuração da compilação no menu Plataformas sem precisar voltar para Configurações de projeto.
Em Gerenciamento de conteúdo, selecione Empacotar projeto.
Na caixa de diálogo Empacotar projeto, escolha ou crie uma pasta para usar como diretório de estagiamento na unidade, onde os arquivos empacotados serão salvos. Clique em Selecionar pasta para confirmar o diretório de estagiamento e iniciar o processo de empacotamento.
Após o início do processo, uma caixa de diálogo pop-up chamada Empacotando projeto para [plataforma-alvo selecionada] será exibida no canto inferior direito do Unreal Editor.
A qualquer momento durante o processo de empacotamento, você pode abrir o Log de Saída clicando no link Mostrar Log de Saída na caixa de diálogo pop-up. A janela de log exibe as tarefas que a engine realiza durante o processo de empacotamento, incluindo o registro de erros no log.
Quando o processo for concluído, você verá uma das mensagens a seguir indicando que o empacotamento foi concluído ou falhou.
(Opcional) Cancelamento do processo de empacotamento
Você pode interromper o processo de empacotamento a qualquer momento clicando no botão Cancelar na caixa de diálogo pop-up.
Após o cancelamento, a seguinte mensagem será exibida no canto inferior direito do Unreal Editor.
(Opcional) Depuração de erros de empacotamento
O Log de Saída e o Log de Mensagens mostram erros de empacotamento. Durante o processo de empacotamento, você pode clicar no link Mostrar Log de Saída na caixa de diálogo pop-up para abrir o Log de Saída.
Você também pode acessar esses logs a qualquer momento clicando em Janela > Log de mensagens ou Janela > Log de saída na barra de menus do Editor.
O log de saída
O Log de saída é um log de mensagens em tempo real da engine que exibe informações de depuração, mensagens do compilador, avisos, mensagens de erro e detalhes de carregamento de evento e ativo.
Por ser um log em tempo real, ele pode fornecer dicas de contexto adicionais sobre o que estava acontecendo antes, durante e após o Empacotamento.
O Log de mensagens
O Log de mensagens armazena mensagens importantes, como erros e avisos. Isso ajuda a identificar por onde começar a investigação de depuração. Você pode consultar o cabeçalho Resultados do empacotamento no menu de navegação à esquerda para encontrar os erros ou avisos listados que talvez precise corrigir.
Como executar e encerrar o executável
Depois de empacotar o projeto, siga estas etapas para executá-lo, testá-lo e encerrá-lo:
Navegue até a pasta especificada como diretório de estagiamento, onde os arquivos do projeto empacotado estão salvos.
Os arquivos Pak mencionados anteriormente neste guia podem ser encontrados no diretório de estagiamento em [Nome do projeto] > Conteúdo > Paks.
Execute o projeto clicando duas vezes no arquivo executável (
.exe). O executável terá o mesmo nome do seu projeto da Unreal Engine .Quando o projeto carregar, você verá uma versão em janela do mapa padrão do jogo. Agora, você pode testar o executável movendo-se pelo nível e interagindo com coletas.
Para encerrar o executável, abra a linha de comando do console no jogo pressionando a chave de crase ('). Na linha de comando, digite um dos seguintes comandos do console e pressione Enter:
quitexit
Sair de um executável em execução pode variar dependendo do tipo de configuração de compilação utilizada. Por exemplo, se você usar a configuração Lançamento (que não tem acesso ao console no jogo), o projeto deverá incluir uma opção de interface de usuário, como um botão, para sair do aplicativo.
Para obter mais informações sobre comandos do console na Unreal Engine, confira Referência de comandos do console.
Como usar a Unreal Automation Tool
A Unreal Automation Tool (UAT) é um programa host e um conjunto de bibliotecas de scripts utilitários que podem manipular projetos da Unreal Engine.
Por exemplo, quando você empacota um projeto, a Automation Tool executa o comando BuildCookRun, o código subjacente para todas as operações de compilação. Ao concluir o tutorial Empacotar um Projeto, você já empregou a Automation Tool.
A Automation Tool é útil para criar scripts de processos não supervisionados em C#, como preparar e executar testes de automação para pipelines de integração contínua (CI).
Para obter mais informações sobre a UAT, consulte Automation Tool Overview.
Usando o Inicializador de Projetos
O Inicializador de Projetos é uma ferramenta usada para criar Perfis de inicialização personalizados. Perfis de inicialização personalizados oferecem controle automatizado sobre as operações de compilação, processamento, empacotamento e implantação para várias plataformas em um único local. Isso permite eficiência e iteração durante o desenvolvimento e os testes.
Para acessar o Inicializador de Projetos na Unreal Engine, clique no botão Plataformas na barra de ferramentas principal do Editor. Em Opções e configurações, clique em Inicializador de Projetos.
Para obter mais informações sobre como usar o Inicializador de Projetos, consulte Project Launcher.
Distribuição do projeto
A distribuição, ou lançamento, refere-se ao lançamento do seu projeto para usuários em plataformas de distribuição digital e ocorre próximo ao final do pipeline de desenvolvimento.
Dependendo das plataformas-alvo para as quais você está desenvolvendo, muitas plataformas de distribuição digital estão disponíveis. Por exemplo, projetos para plataformas de desktop podem ser distribuídos na Epic Games Store ou no Steam. Alternativamente, projetos para iOS e Android podem ser distribuídos na App Store ou na Google Play Store.
Cada plataforma de distribuição digital tem um fluxo de trabalho, requisitos e acordos legais únicos para o lançamento de projetos. O lançamento de um projeto da Unreal Engine na Epic Games Store traz alguns benefícios. Para obter mais informações sobre o lançamento na Epic Games Store, confira Distribua na Epic Games.
Para obter mais informações sobre sua plataforma-alvo e plataformas de distribuição digital associadas, consulte Compartilhamento e liberação de projetos.