O guia a seguir é destinado a usuários que baixaram e fizeram a compilação da Unreal Engine a partir de seu código-fonte, que disponibilizamos no GitHub. Para obter mais informações, consulte Como baixar o código-fonte da Unreal Engine.
Se você baixar o código mais recente da Unreal Engine (UE), perceberá que não há arquivos de projeto do Visual Studio (VS) ou Xcode incluídos para compilar e executar a engine ou jogos de exemplo. Você precisará executar um código que gera os arquivos de projeto para carregamento:
Execute o arquivo
GenerateProjectFiles.bat, localizado no diretório raiz da UE.A ferramenta de geração de projeto analisará os arquivos de módulo e de compilação do alvo e gerará novos arquivos de projeto. Isso pode levar algum tempo para ser concluído.
Para desenvolvedores do VS, isso gerará um arquivo UE5.sln no mesmo diretório. Você usará esse arquivo de solução para compilar e executar jogos e programas da UE. Ao compilar pela primeira vez, recomendamos usar a configuração de desenvolvimento com a plataforma Win64.
Por padrão, geramos projetos compiláveis para todas as plataformas disponíveis para as quais detectamos SDKs, para que você também possa compilar e depurar plataformas de consoles e dispositivos móveis. Se quiser gerar projetos apenas para a plataforma que está usando no momento (por exemplo, Windows), execute o GenerateProjectFiles.bat com o argumento -CurrentPlatform. Os arquivos do projeto ficarão um pouco mais leves.
Lembre-se de executar GenerateProjectFiles.bat novamente após sincronizar as alterações de código no controle de código-fonte. Se você esquecer de fazer isso, provavelmente terá problemas ao compilar ou executar o jogo.
Se você fizer alterações locais nos módulos, como adicionar ou remover arquivos de código-fonte, deve executar GenerateProjectFiles.bat novamente. Não recomendamos fazer alterações manuais nos arquivos do projeto.
Opções de linha de comando
O gerador de projeto possui alguns argumentos opcionais de linha de comando que você pode usar caso queira personalizar os arquivos de projeto gerados para atender melhor às suas necessidades. Em geral, essas opções não são necessárias ou recomendadas.
| Opção | Descrição |
|---|---|
| Gera projetos compiláveis apenas para a plataforma de desktop atual (Windows ou Mac), em vez de todas as plataformas-alvo disponíveis detectadas. |
| Gera projetos em um formato nativo do VS 2022. O compilador Visual C++ 2022 será usado para compilar quando essa opção for definida. |
| Adiciona cabeçalhos e outros arquivos de bibliotecas de terceiros ao projeto. Isso pode ser útil se você gosta de ver símbolos e arquivos no Visual Assist para PhysX, Steamworks ou Bink, por exemplo. No entanto, isso fará com que os arquivos do projeto demorem mais para carregar. |
| Informa ao gerador de projetos para gerar projetos que incluem apenas código e conteúdo para o nome do projeto especificado, excluindo todos os outros projetos descobertos. Certifique-se de especificar também o nome do projeto. Por exemplo, |
| Ignora a geração dos dados do IntelliSense usados para autocompletação e marcação de erros na IDE. |
| Inclui documentação da engine para todos os idiomas. Por padrão, incluímos arquivos no projeto apenas para inglês. |
| Quando especificado, apenas arquivos de cabeçalho públicos serão incluídos nos projetos gerados para os módulos da engine. Por padrão, todos os arquivos de código-fonte estão incluídos para os módulos da engine. Isso pode reduzir o tempo de carregamento do projeto, mas pode ser mais difícil navegar pelo código da engine. |
| Omite as configurações de compilação |
| Sobrepõe o conjunto padrão de plataformas para as quais gerar projetos compiláveis. Em vez disso, gera projetos para a plataforma ou plataformas que você especificar. Você pode especificar várias plataformas separando-as com um caractere "+". Isso também faz com que o arquivo de solução gerado seja nomeado com um sufixo que inclui o nome ou nomes das plataformas. |
Informações adicionais
O código GenerateProjectFiles.bat é um agrupador simples em torno da Unreal Build Tool, que é inicializado em um modo especial que compila arquivos de projeto em vez de executáveis de programa. Ele chama a Unreal Build Tool com a opção de linha de comando -ProjectFiles.
O sistema de compilação da UE não exige arquivos de projeto para compilar o código. O Unreal Build Tool sempre localiza os arquivo de código-fonte usando os arquivos de compilação de módulo e de alvo. Por esse motivo, se você adicionar um arquivo de código-fonte e acionar uma compilação, o arquivo de código-fonte poderá ser incluído na compilação mesmo que os arquivos do projeto ainda não tenham sido atualizados.
Para projetos do VS, o arquivo de solução gerado é o UE5.sln e é salvo no diretório raiz da UE. No entanto, os arquivos do projeto são salvos no diretório UNREAL_ENGINE_ROOT/Engine/Intermediate/ProjectFiles/. É seguro excluir esses arquivos a qualquer momento e gerar os projetos novamente. No entanto, você poderá perder algumas preferências específicas do projeto, como strings de argumento de linha de comando, se excluir esses arquivos.
Vantagens de gerar arquivos de projeto
Certamente existem prós e contras, mas aqui estão algumas razões importantes pelas quais decidimos gerar arquivos de projeto para a UE:
A UE foi projetada para funcionar com muitas plataformas, mas equipes diferentes podem trabalhar apenas com algumas plataformas específicas a qualquer momento. Ao gerar arquivos de projeto, podemos omitir arquivos específicos de plataformas e configurações de compilação que não são relevantes.
A metodologia de programação da UE incorpora muitos submódulos, e era muito importante facilitar ao máximo para os programadores adicionar novos módulos.
O gerador de projetos emite definições de alta precisão e inclui caminhos que são usados pelo IntelliSense do VS enquanto você trabalha no código da UE.
Configurar um projeto fica muito mais fácil quando os arquivos do projeto são gerados automaticamente.
Queremos oferecer suporte a várias plataformas e ambientes de desenvolvimento (por exemplo, VS e Xcode). Manter vários conjuntos de arquivos de projeto manualmente é tedioso e propenso a erros.
Queremos permitir que programadores gerem arquivos de projeto altamente personalizados.
A estrutura de diretórios dos arquivos de código-fonte é espelhada na hierarquia da solução de arquivos do projeto. Isso é realmente conveniente ao navegar pelos arquivos de código-fonte, mas era difícil de manter com projetos escritos manualmente.
As configurações de compilação da UE são muito complexas e difíceis de manter manualmente. O gerador de projetos torna isso quase transparente para os desenvolvedores.
Outros arquivos adicionados ao gerar arquivos de projeto
Além do código-fonte para módulos C++, adicionamos automaticamente vários outros arquivos aos projetos gerados. Isso facilita a localização desses arquivos nas pesquisas. Alguns exemplos de outros arquivos adicionados aos projetos gerados:
Código-fonte do shader (arquivos
*.usf)Arquivos de documentação da engine (arquivos
*.udn)Arquivos de configuração do programa (arquivos
*.ini)Arquivos de localização (arquivos
*.int)Arquivos de recurso de programa e manifestos (
*.rc, .manifest)Alguns arquivos de projeto externos (não gerados) (por exemplo, UnrealBuildTool e Clean)
Arquivos de projeto e controle de código-fonte
Os arquivos de projeto não são versionados no controle de código-fonte. Mesclar conflitos de controle de código-fonte em arquivos de projeto era tedioso e altamente suscetível a erros. O novo sistema evita isso completamente tratando os arquivos de projeto como intermediários puros. Além disso, os arquivos de solução serão diferentes para cada equipe que trabalha em projetos de jogos diferentes. É provável que os arquivos de projeto que usamos na Epic não sejam úteis para outras equipes sem modificações.
Depuração do código do gerador de projetos
Aqui estão algumas dicas úteis para ajudar a depurar as alterações feitas no código do gerador de projetos:
Mude o projeto de inicialização para UnrealBuildTool.
Defina os parâmetros de linha de comando para depuração como
-ProjectFiles.Defina o caminho de trabalho para o seu caminho local para
UNREAL_ENGINE_ROOT/Engine/Source/.Compile e depure normalmente.
Esteja ciente de que o gerador de projetos pode excluir os arquivos do projeto que você está usando no VS enquanto estiver trabalhando. Por esse motivo, às vezes é útil carregar o projeto da Unreal Build Tool diretamente no VS, em vez de depurar pelo arquivo de solução regular da UE.
Compile várias configurações
Você pode usar a funcionalidade Compilação em Lote no VS. Você pode achá-la no menu Compilar. Selecione todas as configurações que deseja compilar e clicar em Compilar.
Integração com a extensão UnrealVS
A extensão UnrealVS para VS inclui um botão na barra de ferramentas que você pode clicar para gerar novamente os arquivos do projeto para a solução carregada no momento.
Você também pode vincular uma tecla de atalho a essa funcionalidade. No VS, abra Ferramentas > Opções > Ambiente > Teclado, depois pesquise por UnrealVS.RefreshProjects.
Observe que essa funcionalidade só é habilitada após o carregamento de uma solução (porque a ferramenta precisa saber para qual ramificação de código gerar projetos). Se você ainda não tiver um arquivo UE5.sln gerado, será necessário executar primeiro o código GenerateProjectFiles.bat diretamente.