Como parte del proceso de empaquetado, la herramienta de automatización (a veces abreviada como UAT por Herramienta de automatización de Unreal Engine en español) se utiliza para trabajar con un conjunto de secuencias de comandos de utilidad para manipular proyectos de Unreal Engine (UE). Para el proceso de empaquetado, la herramienta de automatización utiliza un comando concreto denominado BuildCookRun. Este comando puede hacer cook del contenido de una plataforma, empaquetarlo en el formato nativo de la plataforma para su distribución, implementarlo en el dispositivo y ejecutar automáticamente el proyecto (si procede). Sin embargo, tu proyecto no solo requiere el uso directo de UAT. Utiliza el botón Plataformas de la barra de herramientas de UE para seleccionar entre las plataformas disponibles o la línea de comandos para hacer cook y empaquetar contenido para una plataforma.
Como parte del comando BuildCookRun en UAT, las siguientes etapas describen las distintas fases del proceso de empaquetado:
- Compilar: en esta fase se compilan los ejecutables de la plataforma seleccionada.
- Cook: en esta fase se hace cook del contenido ejecutando UE de un modo especial.
- Marcar para implementación: en esta fase se copian los ejecutables y el contenido en un área de preparación; un directorio independiente fuera del directorio de desarrollo.
- Empaquetar: en esta fase se empaqueta el proyecto en el formato de distribución nativo de una plataforma.
- Implementar: en esta fase se implementa la compilación en un dispositivo de destino.
- Ejecutar: en esta fase se inicia el proyecto empaquetado en las plataformas de destino.
Para obtener una lista de tareas predefinidas, lee la página de referencia Tareas de secuencias de comandos de BuildGraph.
Métodos de empaquetado
Como puedes implementar contenido de varias formas en una plataforma de destino para probar, depurar o preparar la publicación, puedes probar tus paquetes de varias formas:
- Utiliza la barra de herramientas de UE para probar rápidamente una parte de tu nivel cargado en ese momento para probarlo y depurarlo.
- Utiliza el iniciador de proyectos para utilizar un perfil predeterminado o crear uno personalizado para realizar acciones como crear perfiles o depurar la última compilación de tu proyecto.
- Usa un juego ya empaquetado e implementado en una plataforma, como una consola o un dispositivo móvil.
Consulta las secciones siguientes para obtener más información sobre estos métodos de empaquetado y cómo puedes usarlos para empaquetar tus juegos.
Barra de herramientas de UE
Utiliza el botón Plataformas de la barra de herramientas de UE para seleccionar una plataforma para la que empaquetar tu proyecto. Cuando empaquetes un proyecto con esta opción, se guardará en la carpeta que selecciones, pero no se implementará en el dispositivo.
Desde el menú desplegable de Plataformas, puedes realizar las siguientes acciones:
-
Compilar e iniciar un proyecto en el dispositivo disponible que necesites. Al hacer clic, el proceso de inicio procesa automáticamente el contenido necesario, compila el código y lo inicia en la plataforma seleccionada. La compilación es una forma rápida de probar la funcionalidad durante el desarrollo activo sin necesidad de compilar y ejecutar la totalidad del proyecto cada vez que necesites probar algo.
-
Elige las plataformas de destino y ajusta la configuración de compilación en consecuencia (Desarrollo, Envío, etc.).
En UE 5.4.0, hay un problema conocido por el que, si intentas empaquetar con la opción Usar configuración del proyecto, se utilizarán los ajustes establecidos en Configuración del proyecto > Empaquetadoen el momento en que se inició el editor aunque lo cambies. Para remediarlo, reinicia el editor para asegurarte de que la nueva configuración de compilación surta efecto o elige una de las configuraciones binarias del menú Plataformas en lugar de usar la configuración del proyecto. Este problema está resuelto en UE 5.4.1.
-
Accede al iniciador de proyectos, al gestor de dispositivos, a la configuración de empaquetado y a las plataformas compatibles.
Si no ves la plataforma en la que quieres implementar o está inactiva en este menú, comprueba lo siguiente:
- Asegúrate de que tienes instalado el SDK correcto para esa plataforma (si es necesario) y de que es compatible con la versión del motor que estás utilizando actualmente. A menudo, esto se puede comprobar en el archivo UEBuild.cs de la plataforma que se encuentra en Engine/Source/Programmings/UnrealBuiltTools/Platforms. Por ejemplo, si necesitas ver qué SDK es compatible con Android, puedes consultar el archivo UEBuildAndroid.cs.
- Asegúrate de que están instaladas las extensiones de Visual Studio o los archivos necesarios.
- Algunas plataformas (como la consola) requieren una herramienta externa para conectarse al dispositivo. Asegúrate de que funciona correctamente y de que se detecta el dispositivo.
- Utiliza el gestor de dispositivos en el motor para «llamar» a los dispositivos que necesites, lo que garantiza que solo se puedan utilizar para tu equipo local.
Iniciador de proyectos
El iniciador de proyectos permite implementar para diferentes plataformas, todo desde una ubicación e incluso desde un único perfil de iniciación. Para abrir el iniciador de proyectos, haz clic en Plataformas > Iniciador de proyectos.
Cada plataforma en la que se implanta tiene su propio perfil de iniciación predeterminado (indicado en la ventana principal). También puedes crear uno personalizado que te permita construir un proyecto de una manera específica con muchas configuraciones avanzadas. Entre ellas, la posibilidad de aplicar argumentos de línea de comandos, probar el contenido descargable (DLC), parchear las versiones y mucho más.
Para obtener más información, consulta la página de referencia Iniciador de proyectos.
Perfil de inicio personalizado
Desde el iniciador de proyectos puedes crear un perfil de inicio personalizado que puede utilizarse en todas las plataformas o solo en las que tú especifiques. Estos perfiles permiten compilar tu contenido de formas específicas estableciendo cómo se elabora, empaqueta e implementa utilizando operaciones de compilación disponibles.
Para añadir tu propio perfil de inicio personalizado, haz clic en el botón Añadir en la parte derecha de la ventana.
Tras hacerlo, se abrirá inmediatamente el perfil de inicio personalizado. Asegúrate de darle un nombre y una descripción para que puedas identificarlo rápidamente más adelante.
Línea de comandos
La herramienta de automatización permite hacer cook y empaquetar tu juego mediante la línea de comandos, y como todas las operaciones de compilación las realiza UAT, puede ejecutarse directamente en la línea de comandos con el archivo RunUAT.bat cuando se le proporciona un argumento válido.
El archivo RunUAT se encuentra en Engine/Build/BatchFiles. Para Windows, utiliza el archivo RunUAT.bat y para Mac/Linux utiliza **RunUAT.SH.
Se puede hacer cook básico utilizando los siguientes argumentos de la línea de comandos después de los archivos UnrealEditor.exe o UnrealEditor-cmd.exe :
UnrealEditor.exe [GameName o .uproject] -run=cook -targetplatform=[Platform] -cookonthefly -map=[Map Name]
El commandlet debe especificarse con -run=cook y se debe indicar una plataforma para hacer el proceso de cook. Generará los datos cooked para la plataforma que se especifique y los guardará en la siguiente ubicación:
[UnrealEditor Project]/Saved/Sandboxes/Cooked-[Platform]
Crear los argumentos de la línea de comandos a mano puede ser bastante complicado y hay más posibilidades de que surjan errores accidentales. Por este motivo, se recomienda utilizar un perfil de inicio personalizado para generar con precisión una línea de comandos para tu compilación. Cualquier parámetro introducido en el perfil de inicio personalizado generará automáticamente la línea de comandos y la mostrará en la ventana Registro de salida cuando se utilice para preparar y compilar el proyecto. Cualquier texto que siga a BuildCookRun puede pasarse directamente como argumento de la línea de comandos utilizando RunUAT.bat.
A continuación se muestra un ejemplo de la salida generada desde el iniciador de proyectos y la línea de comandos equivalente que tendría que crearse manualmente para utilizarla en RunUAT.bat:
-
Ventana de registro del iniciador de proyectos
Automation.ParseCommandLine: Parsing Command Line: -ScriptsForProject=MyProject.uproject BuildCookRun -project=MyProject.uproject -clientconfig=Development -
Creación manual
[UnrealEngineRoot]/Engine/Build/BatchFiles/RunUAT.bat BuildCookRun -project=MyProject.uproject -clientconfig=Development
Para obtener más información, consulta la página Cooking de contenido.
Cooking de contenido
En UE, el contenido se almacena en formatos concretos que son compatibles (PNG para datos de texturas o WAV para audio) con una plataforma. Sin embargo, es posible que este contenido no esté en un formato que pueda utilizar la plataforma para la que estás desarrollando. El proceso de cooking convierte los recursos utilizados por UE en recursos que puedan leerse en las plataformas en las que se están implementando. En algunos casos, el contenido cooked se convierte a un formato propio (como con la consola) que solo puede leer esa plataforma.
Puedes hacer cooking de contenido para diferentes plataformas utilizando la línea de comandos o el iniciador de proyectos y su interfaz de UE. En algunas plataformas, debe hacerse cook a todo el contenido antes de que pueda utilizarse en el dispositivo para que funcione correctamente. Si este es el caso, es posible que tengas que comprobarlo en la plataforma para la que estás desarrollando.
Hay dos formas de hacer cook de contenido para tu proyecto: según lo establecido y sobre la marcha.
Cooking de contenido según lo establecido
El cooking de contenido según lo establecido (CBTB, por sus siglas en inglés) realiza todo el proceso de cook con antelación, lo que permite que la compilación implemente recursos cooked de una vez en lugar de hacerlo a medida que sea necesario mientras se reproduce el nivel (si estabas utilizando un servidor de cook). Esta opción es útil para los desarrolladores que no iteran recursos individuales o para los que quieren que el juego funcione a toda velocidad sin esperar a que un servidor entregue el contenido cooked necesario. Normalmente, este método se emplea en las pruebas de rendimiento y las pruebas de juego.
Al realizar un CBTB, no se requiere ninguna configuración adicional para la compilación. Utiliza el iniciador de proyectos para crear un perfil de inicio personalizado y, en la sección Cook, utiliza la selección del desplegable para elegir Según lo estipulado.
Si tienes alguna línea de comandos específica del juego para añadir, puedes desplegar Configuración avanzada y añadir el argumento a la opción Opciones de cook adicionales.
Un ejemplo sería:
-nomcp
Para obtener más información sobre este método de cook y sus configuraciones disponibles, consulta la página de referencia Iniciador de proyectos.
Cooking de contenido sobre la marcha
Cuando eliges hacer cooking de contenido sobre la marcha (COTF, por sus siglas en inglés), el proceso se retrasará hasta que el juego se haya implementado en la plataforma. Solo se instala el ejecutable y algún otro archivo básico, que utilizan la comunicación de red con un servidor de cook para hacer peticiones a la carta, según se necesite el contenido. Este método permite una iteración más rápida para los desarrolladores que quieran hacer cambios en el contenido regularmente o para aquellos que solo analicen ciertas secciones del juego.
Para hacer cook sobre la marcha, primero tendrás que iniciar un servidor de cook en un equipo que tenga disponible el proyecto completo. Puede ser tu equipo local o un servidor remoto que haga el cook. El servidor de cook puede ejecutarse iniciando UE en el modo de línea de comandos con los siguientes argumentos en UnrealEditor-cmd.exe:
UnrealEditor-cmd.exe [FullAbsolutePathToProject.uproject]-run=cook -targetplatform=Windows -cookonthefly
El equipo local del desarrollador accede a un perfil de inicio personalizado desde el iniciador de proyectos y en la sección Implementar, establece el método en Servidor de archivos. Opcionalmente, puedes utilizar Plataforma de implementación predeterminada para seleccionar una única plataforma o utilizar los conmutadores para activar varias plataformas en las que compilar e implementar.
Para que el ejecutable sepa desde dónde cargar el contenido, debe conocer la dirección IP del equipo que ejecuta el servidor de cook. Para ello, tendrás que pasar el siguiente argumento de línea de comandos en la línea de comandos del cliente (en la que xxxx representa la IP de tu host):
-filehostip=123.456.78.90
El argumento se puede especificar en tu perfil de inicio personalizado, en la sección Iniciar del cuadro de texto Parámetros adicionales de la línea de comandos. Si no se especifica la dirección IP, la compilación se cargará desde el archivo local existente y no intentará conectarse al servidor de cook.
Para obtener más información sobre este método de cook y sus configuraciones disponibles, consulta la página de referencia Iniciador de proyectos.
Cómo implementar una compilación
Para implementar una compilación desde el iniciador de proyectos, debes tener un proyecto cooked y empaquetado. Hay un par de formas de implementar este tipo de compilación en una plataforma. En tu perfil de inicio personalizado, en la sección Implementar, define la forma en que quieres implementar la compilación.
- Servidor de archivos hará cook del contenido y lo implementará en tiempo de ejecución según sea necesario en el dispositivo.
- Copiar en el dispositivo copiará toda la compilación cooked en el dispositivo.
- No implementar no implementará la compilación en ningún dispositivo una vez que se completen el cook del contenido y los paquetes.
- Copiar repositorio copiará una compilación desde una ubicación de archivo específica para implementar en cualquier dispositivo.
Para obtener más información sobre este método de implementación y las configuraciones disponibles, consulta la página de referencia Iniciador de proyectos.