La siguiente guía está destinada a los usuarios que hayan descargado y compilado Unreal Engine a partir de su código fuente (que hemos puesto a su disposición en GitHub). Para obtener más información, consulta Descarga del código fuente de Unreal Engine.
Si descargas el código de Unreal Engine (UE) más reciente, es posible que no haya archivos de proyecto de Visual Studio (VS) o Xcode para compilar y ejecutar el motor o los juegos de ejemplo. Tendrás que ejecutar una secuencia de comandos que genere archivos de proyecto para que los cargues:
Ejecuta el archivo
GenerateProjectFiles.bat, que se encuentra en el directorio raíz de UE.La herramienta del generador de proyectos analizará los archivos de módulo y de destino compilados y generará nuevos archivos de proyecto. Esto puede tardar un poco en completarse.
Para los desarrolladores de VS, esto generará un archivo UE5.sln en el mismo directorio. Este archivo de solución se usará para compilar y ejecutar juegos y programas de UE. Para tu primera compilación, te recomendamos usar la configuración de desarrollo con la plataforma Win64.
Por defecto, generamos proyectos construibles para todas las plataformas disponibles para las que detectamos SDK, por lo que podrás compilar y depurar también en consola y dispositivos móviles. Si quieres generar proyectos solo para la plataforma en la que los estés ejecutando (por ejemplo, Windows), ejecuta el archivo GenerateProjectFiles.bat con el argumento -CurrentPlatform. Los archivos de proyecto serán un poco más ligeros.
No olvides volver a ejecutar GenerateProjectFiles.bat después de sincronizar los nuevos cambios de código desde el control de versiones. Si te olvidas de hacerlo, lo más probable es que tengas problemas al compilar o ejecutar tu juego.
Si haces cambios locales en los módulos, como añadir o eliminar archivos de origen, deberías volver a ejecutar GenerateProjectFiles.bat. No recomendamos realizar cambios manualmente en los archivos de proyecto.
Opciones de línea de comandos
El generador de proyectos tiene algunos argumentos de línea de comandos opcionales que puedes usar si quieres personalizar los archivos de proyecto generados para que se ajusten más a tus necesidades. Normalmente, estas opciones no son necesarias ni recomendables.
| Opción | Descripción |
|---|---|
| Genera proyectos construibles solo para la plataforma de escritorio actual (Windows o Mac), en lugar de para todas las plataformas de destino disponibles detectadas. |
| Genera proyectos en un formato nativo de VS 2022. Si esta opción está habilitada, se compilará con el compilador de Visual C++ 2022. |
| Añade encabezados y otros archivos de bibliotecas de terceros al proyecto. Esto podría ser útil si quieres ver los símbolos y archivos en el asistente visual para PhysX, Steamworks o Bink, por ejemplo. Sin embargo, hará que los archivos de proyecto tarden más en cargarse. |
| Indica al generador de proyectos que genere proyectos que solo incluyan código y contenido para el nombre de proyecto indicado, sin incluir el resto de proyectos descubiertos. Asegúrate de especificar también un nombre de proyecto. Por ejemplo, |
| Omite la generación de datos de IntelliSense usados para el autocompletado y los garabatos de error en el IDE. |
| Incluye documentación del motor en todos los idiomas. Por defecto, solo incluimos en el proyecto archivos para inglés. |
| Cuando se especifique, solo se incluirán los archivos de encabezado públicos en los proyectos generados para los módulos del motor. Por defecto, todos los archivos de origen se incluyen para los módulos del motor. Esto puede acelerar los tiempos de carga del proyecto, pero puede ser más difícil navegar por el código del motor. |
| Omite las configuraciones de |
| Anula el conjunto por defecto de plataformas para generar proyectos construibles y, en su lugar, genera proyectos para la plataforma o las plataformas que especifiques. Puedes especificar varias plataformas separándolas con el carácter «+». Esto también hace que el archivo de solución generado reciba un sufijo que incluye el nombre o los nombres de la plataforma. |
Más información
La secuencia de comandos GenerateProjectFiles.bat es un sencillo envoltorio de la herramienta UE Build Tool que se inicia en un modo especial que compila archivos de proyecto en lugar de programas ejecutables. Llama a la Unreal Build Tool con la opción de línea de comandos -ProjectFiles.
El sistema de compilación de UE no necesita archivos de proyecto para compilar el código. Unreal Build Tool siempre localiza los archivos de origen mediante los archivos de compilación de módulo y de destino. Por este motivo, si añades un nuevo archivo de origen y activa una compilación, es posible que el nuevo archivo de origen se incluya en la compilación aunque los archivos de proyecto aún no se hayan actualizado.
Para los proyectos de VS, el archivo de solución generado es UE5.sln y se guarda en el directorio raíz de UE. Sin embargo, los archivos de proyecto se guardan en el directorio UNREAL_ENGINE_ROOT/Engine/Intermediate/ProjectFiles/. Es seguro eliminar estos archivos en cualquier momento y regenerar proyectos, pero si eliminas estos archivos, es posible que pierdas ciertas preferencias específicas de proyectos, como las cadenas de argumentos de la línea de comandos.
Ventajas de generar archivos de proyecto
Por supuesto, existen tanto ventajas como desventajas, pero aquí tienes algunos motivos importantes por los que hemos decidido generar archivos de proyecto para UE:
UE está diseñado para funcionar con muchas plataformas, pero es posible que diferentes equipos solo trabajen con unas pocas plataformas específicas a la vez. Al generar archivos de proyecto, podemos omitir archivos específicos de la plataforma y las configuraciones de compilación que no son relevantes.
La metodología de programación de UE incorpora muchos submódulos, por lo que era muy importante que facilitara al máximo a los programadores la tarea de añadir nuevos módulos.
El generador de proyectos emite definiciones de gran precisión e incluye rutas que VS IntelliSense utiliza mientras trabajas en el código de UE.
Configurar un nuevo proyecto es mucho más fácil cuando los archivos de proyecto se generan automáticamente.
Queremos ser compatibles con varias plataformas y entornos de desarrollo (por ejemplo, VS y Xcode). Mantener manualmente varios conjuntos de archivos de proyecto es tedioso y propenso a errores.
Queremos que los programadores puedan generar archivos de proyecto altamente personalizados.
La estructura de directorios de los archivos de origen se refleja automáticamente en la jerarquía de soluciones de archivos de proyecto. Esto es muy útil a la hora de navegar por los archivos de origen, pero era difícil de mantener con proyectos creados manualmente.
Las configuraciones de compilación de UE son muy complejas y difíciles de mantener manualmente. El generador de proyectos hace que esto sea casi transparente para los desarrolladores.
Otros archivos añadidos con la generación de archivos de proyecto
Junto con el código fuente de los módulos de C++, añadimos automáticamente otros archivos a los proyectos generados. Esto es solo para que sea más fácil localizar estos archivos al realizar búsquedas. Estos son algunos ejemplos de otros archivos que se añaden a los proyectos generados:
Código fuente del sombreador (archivos
*.usf)Archivos de documentación de Engine (archivos
*.udn)Archivos de configuración del programa (archivos
*.ini)Archivos de localización (archivos
*.int)Archivos de recursos del programa y manifiestos (
*.rc, .manifest)Ciertos archivos de proyecto externos (no generados), por ejemplo UnrealBuildTool y Clean
Archivos de proyecto y control de versiones
Los archivos de proyecto no se incluyen en el control de versiones. Fusionar los conflictos del control de versiones con los archivos de proyecto era una tarea tediosa y muy propensa a errores. El nuevo sistema evita esto por completo al tratar los archivos de proyecto como puros intermediarios. Más aún, los archivos solución serán diferentes para cada equipo que esté trabajando en distintos proyectos de juego. Es probable que los archivos de proyecto que usamos en Epic no sean útiles para otros equipos sin modificaciones.
Depuración del código del generador de proyectos
Aquí tienes algunos consejos útiles que te ayudarán a depurar los cambios que hayas realizado en el código del generador de proyectos:
Cambia tu proyecto de inicio a UnrealBuildTool.
Establece los parámetros de la línea de comandos para la depuración como
-ProjectFiles.Establece el directorio de trabajo en tu ruta local para
UNREAL_ENGINE_ROOT/motor/Source/.Compila y depura como de costumbre.
Ten en cuenta que el generador de proyectos puede eliminar los archivos de proyecto que estés usando en VS mientras trabajas. Por este motivo, a veces resulta útil cargar el proyecto de Unreal Build Tool directamente en VS en lugar de depurar a través del archivo de solución normal de UE.
Compila varias configuraciones
Puedes usar la función Compilación por lotes en VS. Puedes encontrarla en el menú Compilar. Solo tienes que seleccionar todas las configuraciones que quieras compilar y clic en Compilar.
Integración con la extensión UnrealVS
La extensión UnrealVS para VS incluye un botón de barra de herramientas en el que puedes hacer clic para volver a generar archivos de proyecto para la solución cargada actualmente.
También puedes vincular una tecla de acceso rápido a esta función. En VS, ve a Herramientas > Opciones > Entorno > Teclado y luego busca UnrealVS.RefreshProjects.
Ten en cuenta que esta función solo se activa después de haber cargado una solución (porque la herramienta necesita saber para qué rama del código debe generar proyectos). Si aún no has generado un archivo UE5.sln, primero tendrás que ejecutar la secuencia de comandos GenerateProjectFiles.bat directamente.