Esta página ofrece una introducción a los conceptos clave del empaquetado y tutoriales para hacer cook y empaquetar. Para saltar a los tutoriales, consulta las siguientes páginas: Let’s Cook Content y Let’s Package a Project.
¿Qué es el empaquetado?
El empaquetado es un proceso que convierte un proyecto de Unreal Engine en una aplicación o archivo ejecutable (.exe) independiente.
El proceso de empaquetado compila el contenido de un proyecto en un formato que pueda ejecutarse en una target platform como Windows, iOS o una consola. Por ejemplo, cuando descargas un juego en el dispositivo, los archivos de datos que recibes se han empaquetado para garantizar la compatibilidad con el sistema operativo.
El empaquetado puede ocurrir en varias etapas de la canalización de desarrollo:
Producción y pruebas
Durante la producción y las pruebas, se puede usar el empaquetado para verificar la función de un proyecto. Por ejemplo, el control de calidad o las pruebas de un proyecto empaquetado en plataformas móviles.
Distribución
Durante la distribución, también llamada envío, se usa el empaquetado para preparar una compilación final para el lanzamiento.
Posproducción
Durante la posproducción, se puede usar empaquetado para distribuir actualizaciones de contenido, como contenido descargable (DLC) y parches.
Una compilación final es un proyecto que está listo para que lo usen los usuarios o los jugadores.
Plataformas de destino compatibles
Una plataforma de destino es un sistema operativo o una consola en la que se ejecutará un proyecto. Unreal Engine admite el empaquetado para las siguientes plataformas de destino:
Plataformas de escritorio, como Windows, macOS y Linux.
Plataformas móviles, como iOS, iPadOS, tvOS y Android.
Todas las consolas principales.
Plataformas de RE (realidad extendida) como OpenXR, PSVR2, ARKit, ARCore y visionOS.
Otro software
Desarrollar y empaquetar para Windows y macOS no requiere ningún otro software.
El desarrollo y empaquetado para consolas requiere una compilación del código fuente de Unreal Engine y no puede usar la versión precompilada obtenida a través del iniciador de Epic Games. Puedes descargar una compilación del código fuente en GitHub.
El desarrollo y empaquetado para algunas plataformas de destino, como Linux, dispositivos móviles y plataformas RE, puede requerir otros kits de desarrollo de software (SDK) y componentes de Unreal Engine. Para obtener más información sobre los SDK para las plataformas de destino, consulta el artículo Sharing and Releasing Projects. Para obtener más información sobre los componentes de Unreal Engine, consulta Instalación de Unreal Engine.
¿Cómo funciona el empaquetado?
Empaquetar un proyecto es una build operation. Compilar, Cook y Marcar para implementación son operaciones de compilación que contribuyen al proceso de empaquetado.
Compilar
Durante esta fase, se compilan el código, los complementos y los binarios del proyecto para la plataforma de destino. Si el proyecto usa C++, todo el código se compila en binarios.
Cook
Durante esta fase, los recursos del proyecto (geometría, materiales, texturas, blueprints, audio, etc.) se guardan en un formato que pueda ejecutarse en las plataformas de destino. Los recursos se optimizan para aumentar la eficiencia de carga.
Marcar para implementación
Durante esta fase, el código compilado y el contenido elaborado se copian en un directorio de preparación.
Un directorio de preparación es una carpeta temporal en el disco, fuera del directorio de desarrollo, que designas durante el proceso de empaquetado.
Empaquetar
Durante esta fase, el código compilado y el contenido preparado se empaquetan en un conjunto de archivos distribuibles dentro del directorio de almacenamiento de preparación. Por ejemplo, en Windows, los archivos distribuibles incluyen un instalador o archivo ejecutable y una carpeta que contiene archivos Pak (
.pak).(Opcional) Implementar
El proyecto se envía a una plataforma de destino donde se ejecutará.
(Opcional) Ejecutar
Esta fase inicia el proyecto desde Unreal Editor en la plataforma de destino. Esta operación es ideal para iterar y prueba rápidamente en un dispositivo que no sea tu escritorio local.
Operaciones de compilación
Aunque cada operación de compilación contribuye al proceso de empaquetado, también puede realizarse de forma independiente.
Cuando se realizan de forma independiente, cada operación es especialmente útil en distintas etapas de desarrollo. Por ejemplo, la operación Cook puede optimizar y guardar recursos específicos en lugar de cada recurso en tu nivel de juego, lo que lo hace ideal para distribuir actualizaciones de contenido, como DLC o parches.
Si quieres ver una comparación de cuándo es útil cada operación de compilación, consulta la siguiente tabla:
| Operación de compilación | Ejemplo de uso |
|---|---|
Compilar | Compilar el código durante el desarrollo. |
Cook | Preparar un proyecto para una prueba de control de calidad o distribución. Preparar DLC y parches para pruebas o distribución. |
Marcar para implementación | Preparar un proyecto para una prueba de control de calidad o distribución. |
Empaquetar | Preparar un proyecto para una prueba de control de calidad o distribución. |
Implementar | Se trata de probar un proyecto en una plataforma que no sea tu ordenador local, como una consola o un dispositivo móvil. |
Ejecutar | Se trata de probar un proyecto en una plataforma que no sea tu ordenador local. Usuarios que ejecutan un proyecto enviado en una plataforma de destino. |
Hacer cook al contenido
El cooking es una operación de compilación que prepara el contenido del juego para que pueda ejecutarse fuera de Unreal Editor. Se realiza como parte del proceso de empaquetado, pero también se puede realizar de forma independiente.
El cooking es necesario por los siguientes motivos:
Garantiza que el contenido del juego esté optimizado y sea compatible con la plataforma de destino.
Es necesario antes del empaquetado de una compilación final para su distribución o las pruebas en un dispositivo, como móviles o consola.
Convierte formatos exclusivos del editor en formatos listos para el tiempo de ejecución.
El tiempo de ejecución hace referencia al periodo de tiempo en el que un proyecto se ejecuta en la plataforma de destino.
Las siguientes tareas se realizan durante el proceso de cooking:
Los recursos (geometría, materiales, texturas, blueprints, audio, etc.) se convierten a un formato específico de la plataforma.
Los recursos se comprimen y optimizan siempre que sea posible.
Los datos no utilizados no se incluyen para reducir el tamaño del proyecto en disco y mejorar el rendimiento.
Si es necesario, los blueprints se compilan en su código nativo.
Los mapas y los niveles se procesan y optimizan.
El contenido procesado se almacena en uno o más archivos Pak (
.pak).
Durante el proceso de cooking, la optimización elimina cualquier contenido al que no hagan referencia los niveles de juego o el código del proyecto. Por ejemplo, los recursos que aparecen en el explorador de contenido de Unreal Editor, pero no en el nivel del juego, no se procesarán.
Al hacer cooking de forma independiente, los archivos se copian en el directorio de desarrollo en lugar de en el directorio de preparación.
Para obtener más información sobre el proceso de cooking, consulta la documentación Content Cooking.
Archivos PAK y fragmentación de archivos PAK
Un archivo PAK (.pak) es un archivo con formato que se usa en Unreal Engine para almacenar contenido cooked. Aunque los archivos PAK son el tipo de archivo predeterminado, puedes explorar otros tipos de archivos en Packaging Settings del proyecto.
Los archivos PAK se pueden dividir en archivos PAK más pequeños, llamados fragmentos. Al usar fragmentos, puedes asignar recursos específicos del proyecto a un fragmento. Es útil en las siguientes situaciones:
Al separar el contenido descargable o los parches que no quieras que se incluyan en el paquete completo del proyecto.
Al transmitir la instalación. Los fragmentos permiten personalizar la prioridad del contenido que se descarga primero.
Transmitir la instalación es una forma de que los usuarios interactúen con un proyecto enviado antes de que termine de instalarse. Esto es ideal para juegos de consola, ya que permite a los usuarios jugar antes.
Para obtener más información sobre los archivos PAK y su fragmentación, consulta los artículos Cooking and Chunking y Preparing Assets for Chunking.
¡A por el contenido cooked!
Existen dos métodos para hacer cook al contenido de un proyecto:
| Método de cooking | Descripción |
|---|---|
De acuerdo con el procedimiento (predeterminado) |
|
Sobre la marcha |
|
Cooking de acuerdo con el procedimiento
Para hacer cooking al contenido de acuerdo con el procedimiento, sigue estos pasos:
En la barra de herramientas principal de Unreal Editor, abre el menú Plataformas.
En la lista, selecciona una plataforma de destino. Solo se hace cooking al contenido para las plataformas de destino seleccionadas. En Gestión de contenido, haz clic en Cooking de contenido.
Tras hacer clic en Cooking de contenido, aparecerá un cuadro de diálogo emergente en la esquina inferior derecha de Unreal Editor. Esto muestra el progreso de preparación y los estados de finalización o fallo.
Mientras se hace cooking del contenido, el cuadro de diálogo muestra Contenido para plataformas de destino.
Cuando se complete el cooking, el cuadro de diálogo muestra Cooking completado
Cooking sobre la marcha
Sigue estos pasos para habilitar el cooking sobre la marcha:
En la barra de herramientas principal de Unreal Editor, abre el menú Plataformas.
En el menú, marca la casilla de verificación Habilitar el cooking sobre la marcha.
Al habilitar la función de cooking sobre la marcha, ya puedes seguir los mismos pasos que con Cooking by the Book.
Configuraciones de compilación
Para empaquetar un proyecto, debes elegir una configuración de compilación. Una configuración de compilación es un preajuste que determina cómo se compila el proyecto y qué código y contenido están disponibles.
Cada configuración es útil en distintas fases del desarrollo, ya que prioriza distintos factores, como los siguientes:
Rendimiento
Nivel de optimización
Tamaño del archivo del proyecto
Acceso a las herramientas de depuración
Por ejemplo, la configuración de envío es ideal para distribuir juegos en los que los jugadores no deberían tener acceso a los comandos de consola que provocan problemas en el juego. La depuración y el desarrollo, que incluyen comandos de consola, son ideales para optimizar y probar un juego durante el desarrollo.
Si quieres ver una comparación de todas las configuraciones de compilación, consulta la siguiente tabla:
| Configuración de compilación | Descripción | Etapa de desarrollo | Ejemplo de uso |
|---|---|---|---|
Depurar |
| Desarrollo. Esta configuración no es adecuada para la distribución. |
|
DebugGame |
| Desarrollo. Esta configuración no es adecuada para la distribución. |
|
Desarrollo (predeterminado) |
| Desarrollo. Esta configuración no es adecuada para la distribución. |
|
Prueba |
| Se usa para probar compilaciones internamente sin que las herramientas de depuración generen una sobrecarga. |
|
Envío |
| Distribución. Esta configuración no es adecuada para el desarrollo. |
|
Para obtener más información sobre las configuraciones de compilación, consulta Build Configurations Reference.
Configuración de empaquetado
Puedes encontrar preajustes como las configuraciones de compilación y muchas otras opciones para personalizar el proceso de empaquetado en Configuración del proyecto > Empaquetado.
Se puede acceder a esta ventana desde dos posiciones en Unreal Editor:
En la barra de herramientas principal del editor, haga clic en el menú Plataforma. A continuación, haz clic en Configuración de empaquetado.
En la barra de menús del editor, haz clic en Editar > Configuración del proyecto. Se abrirá la ventana Configuración del proyecto. En el menú de navegación de la izquierda, haz clic en Empaquetado.
La sección de empaquetado incluye, entre otras, las siguientes opciones:
Preajustes de compilación personalizados
Configuraciones de compilación
Objetivos de compilación
Símbolos de depuración
Ejecutables
Localización
Compresión
Cooking
Archivos de configuración (
.ini)Shaders
Tipos de archivo (Pak, fragmento, Utoc y Ucas)
Películas (por ejemplo, una película con prerrenderizado que se reproduzca antes del juego)
Para obtener una explicación detallada de las opciones disponibles en Empaquetado, consulta la sección empaquetado de Project.
¡A por el empaquetado del proyecto!
En este tutorial, aprenderás a empaquetar un proyecto para Windows usando la operación de compilación Empaquetar y la configuración de compilación Desarrollo.
Pondrás en práctica la teoría aprendida en las secciones anteriores y completarás las siguientes tareas:
Al final del tutorial, tendrás un archivo ejecutable del juego que podrás ejecutar, probar y cerrar. Este proceso de trabajo imita probar un juego de Unreal Engine durante la producción.
Para completar este tutorial, necesitarás:
Una máquina con Windows
Unreal Engine
Un proyecto de Unreal Engine que usa la plantilla de primera persona en la variante del Shooter en arena.
Antes de empezar
Abre el proyecto en Unreal Editor.
Cómo configurar un mapa predeterminado del juego
El mapa predeterminado del juego es el mapa que se carga cuando se inicia el proyecto empaquetado. Cada proyecto debe establecer un mapa predeterminado del juego antes del empaquetado. Sin él, el proyecto no tendrá nada que cargar durante el tiempo de ejecución.
Si no se establece un mapa predeterminado del juego, el proyecto mostrará una pantalla en negro al iniciarse. La excepción a esta regla es cuando se usa una plantilla de proyecto, que establece un mapa predeterminado del juego automáticamente.
Cambiarás el mapa siguiendo los siguientes pasos:
En la barra de menús del editor, haz clic en Editar > Configuración del proyecto.
En la ventana Configuración del proyecto, bajo el encabezado Proyecto del menú de navegación de la izquierda, haz clic en Mapas y modos.
Expande la cabecera Mapas predeterminados y haz clic en el menú desplegable Mapa predeterminado del juego. Busca
Lvl_ArenaShootery selecciónalo.
También puedes configurar el mapa si lo seleccionas en el explorador de contenido y, a continuación, haces clic en el icono Usar el recurso seleccionado del explorador de contenido de la ventana Configuración del proyecto.
Cómo configurar los ajustes de compilación
La configuración de compilación determina cómo se compila el proyecto. Cada proyecto debe tener una configuración de compilación establecida antes de su empaquetado. Unreal Engine usará de forma predeterminada la configuración Desarrollo a menos que la cambies.
Desde la ventana Configuración del proyecto, haz clic en Empaquetado en el menú de navegación de la izquierda.
Expande el encabezado Proyecto. Comprueba que la Configuración de compilación esté establecida en Desarrollo. Si no lo está, haz clic en el menú desplegable y establécela en Desarrollo.
Al usar la configuración de desarrollo, puedes acceder a la consola en el juego durante el tiempo de ejecución. Más adelante en este tutorial usarás la consola en el juego para ejecutar comandos de consola.
La consola en partida es una interfaz de línea de comandos que permite interactuar con el motor durante el tiempo de ejecución.
Cómo crear un proyecto empaquetado
El empaquetado crea una aplicación o ejecutable independiente a partir de un proyecto de Unreal Engine. En este caso, empaquetarás para la plataforma de destino Windows y creará un archivo ejecutable que se iniciará más adelante en este tutorial.
Para empaquetar un proyecto, sigue estos pasos:
En la barra de herramientas principal del editor, haz clic en el menú Plataformas. En Contenido/SDK/Gestión de contenido, verás una lista de plataformas. Para este tutorial, selecciona Windows.
Según la plataforma para la que estés desarrollando y los SDK que hayas instalado, las plataformas que aparecen en Contenido/SDK/Gestión de contenido pueden tener un aspecto distinto.
En el nuevo menú contextual, en Configuración binaria, verifica que Usar configuración del proyecto (Desarrollo) esté seleccionado. Los paréntesis indican qué configuración de compilación está seleccionada actualmente en la configuración del empaquetado.
Puedes cambiar rápidamente la configuración de compilación desde el menú Plataformas sin tener que volver a Configuración del proyecto.
En Gestión de contenido, selecciona Empaquetar proyecto.
En el cuadro de diálogo Empaquetar proyecto, elige o crea una carpeta para usarla como directorio de preparación en el disco, donde se guardarán los archivos empaquetados del proyecto. Haz clic en Seleccionar carpeta para confirmar el directorio de preparación e iniciar el proceso de empaquetado.
Una vez iniciado el proceso, aparecerá un cuadro de diálogo emergente denominado Empaquetando proyecto para [plataformas de destino seleccionadas] en la esquina inferior derecha de Unreal Editor.
En cualquier momento durante el proceso de empaquetado, puedes abrir el registro de salida haciendo clic en el enlace Mostrar registro de salida del cuadro de diálogo emergente. La ventana de registro muestra las tareas que realiza el motor durante el proceso de empaquetado, incluidos los errores de registro.
Una vez completado el proceso, verás uno de los siguientes mensajes para indicar que el empaquetado se ha completado o que ha fallado.
(Opcional) Cómo cancelar el proceso de empaquetado
Puedes detener el proceso de empaquetado en cualquier momento haciendo clic en el botón Cancelar del cuadro de diálogo emergente.
Una vez que se haya cancelado correctamente, verás el siguiente mensaje en la esquina inferior derecha de Unreal Editor.
(Opcional) Depuración de errores de empaquetado
Tanto Output Log como Message Log muestran errores de empaquetado. Durante el proceso de empaquetado, puedes hacer clic en el enlace Mostrar registro de salida del cuadro de diálogo emergente para abrir el registro de salida.
También puedes acceder a cualquiera de estos registros en cualquier momento haciendo clic en Ventana > Registro de mensajes o Ventana > Registro de salida en la barra del menú del editor.
El registro de salida
El registro de salida es un registro de mensajes en tiempo real del motor que muestra información de depuración, mensajes del compilador, advertencias, mensajes de error y detalles sobre la carga del evento y los recursos.
Dado que se trata de un registro en tiempo real, puede proporcionar otras pistas de contexto sobre lo que ocurría antes, durante y después del empaquetado.
El registro de mensajes
El registro de mensajes almacena mensajes importantes, como errores y advertencias. Puede ayudarte a identificar por dónde empezar la investigación sobre la depuración. Bajo el encabezado Resultados del empaquetado, en el menú de navegación de la izquierda, verás los errores o advertencias que debas corregir.
Cómo ejecutar y cerrar el archivo ejecutable
Una vez que hayas empaquetado el proyecto, sigue estos pasos para ejecutarlo, probarlo y salir de él:
Dirígete a la carpeta que hayas especificado como directorio de preparación, donde se guardan los archivos del proyecto empaquetados.
Los archivos Pak mencionados anteriormente en esta guía se encuentran en el directorio de preparación, en [Nombre del proyecto] > Contenido > Paks.
Ejecuta el proyecto haciendo doble clic en el archivo ejecutable (
.exe). El archivo ejecutable tendrá el mismo nombre que el proyecto de Unreal Engine.Cuando se cargue el proyecto, verás una versión en ventana del mapa predeterminado del juego. Ahora puedes probar el archivo ejecutable y moverte por el nivel e interactuar con los objetos.
Para salir del archivo ejecutable, abre la línea de comandos de la consola en el juego pulsando la tecla acento grave (`). En la línea de comandos, escribe uno de los siguientes comandos de consola y pulsa Intro:
quitexit
La salida de un archivo ejecutable puede variar en función del tipo de configuración de compilación que uses. Por ejemplo, si usas la configuración Envío (que no da acceso a la consola en partida), el proyecto debe incluir una opción en la interfaz de usuario, como un botón, para salir de la aplicación.
Para obtener más información sobre los comandos de consola en Unreal Engine, consulta Console Commands Reference.
Cómo usar Unreal Automation Tool
UE Automation Tool (UAT) es un programa anfitrión y un conjunto de bibliotecas de secuencias de comandos que puede manipular proyectos de Unreal Engine.
Por ejemplo, cuando empaquetas un proyecto, la herramienta de automatización ejecuta el comando BuildCookRun, la secuencia de comandos subyacente para todas las operaciones de compilación. Al completar el tutorial Package a Project, ya habrás usado la herramienta de automatización.
La herramienta de automatización es útil para crear secuencias de comandos para procesos desatendidos en C#, como preparar y ejecutar pruebas de automatización para canalizaciones de integración continua (CI).
Para obtener más información sobre la herramienta de automatización de usuarios, consulta Automation Tool Overview.
Cómo usar el iniciador de proyectos
El iniciador de proyectos es una herramienta que se usa para crear perfiles de inicio personalizados. Los perfiles de inicio personalizados te dan control automatizado sobre las operaciones de compilación, preparación, paquete e implementación para múltiples plataformas en una sola ubicación. Esto incorpora eficiencia e iteración durante el desarrollo y las pruebas.
Para acceder al iniciador de proyectos en Unreal Engine, haz clic en el botón Plataformas de la barra de herramientas principal del editor. En Opciones y configuración, haz clic en Iniciador de proyectos.
Para obtener más información sobre cómo usar el iniciador de proyectos, consulta Project Launcher.
Distribución del proyecto
La distribución o envío se refiere al lanzamiento del proyecto para los usuarios en plataformas de distribución digital y tiene lugar cerca del final de la canalización de desarrollo.
Según la plataforma de destino para la que estés desarrollando, hay muchas plataformas de distribución digital disponibles. Por ejemplo, los proyectos para plataformas de escritorio se pueden distribuir en Epic Games Store o Steam. Como alternativa, los proyectos de iOS y Android se pueden distribuir en la App Store o Google Play Store.
Cada plataforma de distribución digital cuenta con un proceso de trabajo, requisitos y acuerdos legales únicos para los proyectos de envío. Enviar un proyecto de Unreal Engine a Epic Games Store tiene ciertas ventajas. Para obtener más información sobre cómo enviar a Epic Games Store, consulta Distribute on Epic Games.
Para obtener más información sobre las plataformas de destino y las plataformas de distribución digital asociadas, consulta la sección Sharing and Releasing Projects.