【UE4】Windows 的几种打包方式
简述
- 自动化工具(Unreal Automation Tool,简称 UAT)
- 自动化工具使用特定的命令 BuildCookRun
- 封装流程包含
- 构建(Build):该阶段将为所选择的平台编译可执行文件。
- 烘培(Cook):该阶段通过在特殊模式下执行编辑器来转化内容。
- 暂存(Stage):该阶段将可执行文件和内容复制到暂存区,它是开发目录以外的独立目录。
- 打包(Package): 该阶段将项目打包成平台原生的分发格式。
- 部署(Deploy):该阶段将构建版本部署到目标设备。
- 运行(Run):该阶段在目标平台上启动已封装的项目。
- 封装流程包含
- 可以使用 RunUAT.bat 进行打包,路径为
Engine/Build/BatchFiles/RunUAT.bat
- shipping 打包后的savegame路径为
C:\Users\[UserName]\AppData\Local\[ProjectName]\Saved\SaveGames
编辑器打包
- File -> Package Project ->目标平台
- 编译配置
- DebugGame
- Development
- Shipping
- 默认生成路径
[ProjectName]\WindowsNoEditor
,可自定义路径
- 更多设置 ProjectSettings -> Package
- 日志 Running AutomationTool 部分
Running AutomationTool
UATHelper: Packaging (Windows (64-bit)): Parsing command line:
-ScriptsForProject="C:/Users/Alice/Documents/Unreal Projects/tips/tips.uproject"
BuildCookRun -nocompileeditor -installed -nop4
-project="C:/Users/Alice/Documents/Unreal Projects/tips/tips.uproject"
-cook -stage -archive
-archivedirectory="C:/Users/Alice/Documents/Unreal Projects/tips"
-package
-ue4exe=C:\SoftwareInstallation\EpicGames\UE_4.26\Engine\Binaries\Win64\UE4Editor-Cmd.exe
-compressed
-ddc=InstalledDerivedDataBackendGraph
-pak
-prereqs
-nodebuginfo
-targetplatform=Win64
-build
-target=tips
-clientconfig=Development
-utf8output
在设备上启动 Launch
- PIE 工具栏 Launch
- 默认生成路径
[ProjectName]\Saved\StagedBuilds\WindowsNoEditor
- 默认执行
C:\Users\Alice\Documents\Unreal Projects\tips\Saved\StagedBuilds\WindowsNoEditor\tips\Binaries\Win64\tips.exe
../../../tips/tips.uproject /Game/CPPFunction/Pak/PakMap
-stdout
-abslog="C:\Users\Alice\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+SoftwareInstallation+EpicGames+UE_4.26\Client.log"
-Messaging
-Windowed
-CrashForUAT
-SessionId=E68DB8EB44C5712DE6D61BBE209F527E
-SessionOwner="Alice"
-SessionName="Launch On Device"
- 默认生成路径
- 可在 Project Launcher 自定义
- 可使用UnrealFrontend
[EnegineDir]\Engine\Binaries\Win64\UnrealFrontend.exe
- UnrealFrontend 可以执行高级编译、烘焙、部署、打包及启动选项
Project Launcher 打包
- 图示
- 执行步骤
- Running AutomationTool
Parsing command line:
-ScriptsForProject="C:/Users/Alice/Documents/Unreal Projects/tips/tips.uproject"
BuildCookRun
-project="C:/Users/Alice/Documents/Unreal Projects/tips/tips.uproject"
-noP4
-clientconfig=Development
-serverconfig=Development
-nocompile
-nocompileeditor
-installed
-ue4exe=C:\SoftwareInstallation\EpicGames\UE_4.26\Engine\Binaries\Win64\UE4Editor-Cmd.exe
-utf8output
-platform=Win64
-targetplatform=Win64
-build
-cook
-map=
-unversionedcookedcontent
-pak
-createreleaseversion=1.0.0
-compressed
-prereqs
-stage
-package
-cmdline=" -Messaging"
-addcmdline="-SessionId=9876DEE24FEBCC47A5E8C29B1BDD9E48 -SessionOwner='Alice' -SessionName='tip' "
-archive
-archivedirectory="C:/Users/Alice/Documents/Unreal Projects/tips/"
- BUILD COMMAND STARTED
Running:
C:\SoftwareInstallation\EpicGames\UE_4.26\Engine\Binaries\DotNET\UnrealBuildTool.exe
tips Win64 Development
-Project="C:\Users\Alice\Documents\Unreal Projects\tips\tips.uproject"
"C:\Users\Alice\Documents\Unreal Projects\tips\tips.uproject"
-NoUBTMakefiles -remoteini="C:\Users\Alice\Documents\Unreal Projects\tips"
-skipdeploy
-Manifest="C:\Users\Alice\Documents\Unreal Projects\tips\Intermediate\Build\Manifest.xml"
-NoHotReload
-log="C:\Users\Alice\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+SoftwareInstallation+EpicGames+UE_4.26\UBT-tips-Win64-Development.txt"
- COOK COMMAND STARTED
Running:
C:\SoftwareInstallation\EpicGames\UE_4.26\Engine\Binaries\Win64\UE4Editor-Cmd.exe
"C:\Users\Alice\Documents\Unreal Projects\tips\tips.uproject"
-run=Cook
-TargetPlatform=WindowsNoEditor
-fileopenlog
-unversioned
-createreleaseversion=1.0.0
-abslog=C:\SoftwareInstallation\EpicGames\UE_4.26\Engine\Programs\AutomationTool\Saved\Cook-2021.05.24-16.21.35.txt -stdout
-CrashForUAT
-unattended
-NoLogTimes
-UTF8Output
- STAGE COMMAND STARTED
- PACKAGE COMMAND STARTED
RunUAT.bat 脚本打包
- 通过上面打包日志输出 Running AutomationTool 部分,可以将替换 RunUAT.bat 执行脚本
- 当项目过大时,或者服务器定期执行打包,可以使用 RunUAT.bat 进行打包
- 脚本模板
[EngineDir]\Engine\Build\BatchFiles\RunUAT.bat -ScriptsForProject="[ProjectDir]/ProjectName.uproject" BuildCookRun -nocompileeditor -installed -nop4 -project="[ProjectDir]/ProjectName.uproject" -cook -stage -archive -archivedirectory="[PackageDir]" -package -ue4exe=[EngineDir]\Engine\Binaries\Win64\UE4Editor-Cmd.exe -compressed -ddc=InstalledDerivedDataBackendGraph -pak -prereqs -nodebuginfo -targetplatform=Win64 -build -target=tips -clientconfig=Development -utf8output
- 分行便于阅读脚本模板
[EngineDir]\Engine\Build\BatchFiles\RunUAT.bat
-ScriptsForProject="[ProjectDir]/ProjectName.uproject"
BuildCookRun -nocompileeditor -installed -nop4
-project="[ProjectDir]/ProjectName.uproject"
-cook -stage -archive
-archivedirectory="[PackageDir]"
-package
-ue4exe=[EngineDir]\Engine\Binaries\Win64\UE4Editor-Cmd.exe
-compressed
-ddc=InstalledDerivedDataBackendGraph
-pak -prereqs -nodebuginfo -targetplatform=Win64 -build
-target=tips -clientconfig=Development -utf8output
- 实践
C:\SoftwareInstallation\EpicGames\UE_4.26\Engine\Build\BatchFiles\RunUAT.bat -ScriptsForProject="C:/Users/Alice/Documents/Unreal Projects/tips/tips.uproject" BuildCookRun -nocompileeditor -installed -nop4 -project="C:/Users/Alice/Documents/Unreal Projects/tips/tips.uproject" -cook -stage -archive -archivedirectory="C:/Users/Alice/Documents/Unreal Projects/tips" -package -ue4exe=C:\SoftwareInstallation\EpicGames\UE_4.26\Engine\Binaries\Win64\UE4Editor-Cmd.exe -compressed -ddc=InstalledDerivedDataBackendGraph -pak -prereqs -nodebuginfo -targetplatform=Win64 -build -target=tips -clientconfig=Development -utf8output
参考
【UE4】Windows 的几种打包方式的更多相关文章
- maven的两种打包方式
1.maven目前在web上面的使用方式很普遍,而打包的方式也存在很多方式 2.因为涉及一个项目调用另外一个项目的包,并将另外一个项目打成jar的形式便于管理 3.maven打包第一种方式: 将项目检 ...
- Storm 学习之路(六)—— Storm项目三种打包方式对比分析
一.简介 在将Storm Topology提交到服务器集群运行时,需要先将项目进行打包.本文主要对比分析各种打包方式,并将打包过程中需要注意的事项进行说明.主要打包方式有以下三种: 第一种:不加任何插 ...
- Storm 系列(六)—— Storm 项目三种打包方式对比分析
一.简介 在将 Storm Topology 提交到服务器集群运行时,需要先将项目进行打包.本文主要对比分析各种打包方式,并将打包过程中需要注意的事项进行说明.主要打包方式有以下三种: 第一种:不加任 ...
- 关于springboot项目的jar和war两种打包方式部署的区别
关于springboot项目的jar和war两种打包方式部署的区别 关于springboot项目的jar和war两种打包方式部署的区别? https://bbs.csdn.net/topics/392 ...
- Springboot中IDE支持两种打包方式,即jar包和war包
Springboot中IDE支持两种打包方式,即jar包和war包 打包之前修改pom.xml中的packaging节点,改为jar或者war 在项目的根目录执行maven 命令clean pa ...
- IDEA中项目的两种打包方式
本文主要介绍在IDEA中怎么打包,及可以用哪种方式打包. 若是有指正或补充的,欢迎留言~ ٩(●̮̃•)۶ 接下来进入正题: IDEA中打包需要先进行配置,so,我们先打开<abbr titl ...
- Maven三种打包方式jar war pom
1.pom工程 用在父级工程或聚合工程中.用来做jar包的版本控制.必须指明这个聚合工程的打包方式为pom 2.war工程 将会打包成war,发布在服务器上的工程.如网站或服务.在SpringBoot ...
- Android几种常见的多渠道(批量)打包方式介绍
多渠道打包,主要是为了统计不同的渠道上包的下载数量,渠道越多,我们需要打的包数量越多,这个时候,我们没法去使用单纯的手动打包去一个一个的生成不同的渠道包,我们需要更高效的打包方式. 声明渠道方式一: ...
- 可运行jar包的几种打包/部署方式
java项目开发中,最终生成的jar,大概可分为二类,一类是一些通用的工具类(不包含main入口方法),另一类是可直接运行的jar包(有main入口方法),下面主要讲的是后者,要让一个jar文件可直接 ...
随机推荐
- python代码检查工具(静态代码审查)
python静态代码检查 我们知道python是一门脚本语言,不像C#/Java等编译型语言可以在编译阶段就报出代码错误,脚本语言往往需要在运行期执行到这段代码时才会抛出代码错误. 那么在实际商业项目 ...
- 安装 Ubuntu 21.04 后必备的绝佳应用大合集(持续更新中)
@ 目录 一.Google Chrome 浏览器 1.下载 2.安装 3.设置搜索引擎 二.火焰截图(替代QQ截图) 1.简介: 2.安装: 3.设置快捷键: 三.VLC视频播放器(替代Potplay ...
- 快速搭建SSM基本项目
快速搭建SSM项目基本手脚架 Maven构建项目 一般我们使用Maven来管理我们的项目: 导入相关依赖配置pom.xml: <?xml version="1.0" enco ...
- 远程线程注入DLL突破session 0 隔离
远程线程注入DLL突破session 0 隔离 0x00 前言 补充上篇的远程线程注入,突破系统SESSION 0 隔离,向系统服务进程中注入DLL. 0x01 介绍 通过CreateRemoteTh ...
- Spring Cloud Gateway 学习+实践
官网上给出的Spring Cloud Gateway特性如下图所示: 翻译过来就是: 基于 Spring Framework 5 ,Project Reactor 以及 Spring Boot 2.0 ...
- 【第十五篇】- Maven 依赖管理之Spring Cloud直播商城 b2b2c电子商务技术总结
Maven 依赖管理 Maven 一个核心的特性就是依赖管理.当我们处理多模块的项目(包含成百上千个模块或者子项目),模块间的依赖关系就变得非常复杂,管理也变得很困难.针对此种情形,Maven 提供了 ...
- 【第二篇】- Maven 环境配置之Spring Cloud直播商城 b2b2c电子商务技术总结
Maven 环境配置 Maven 是一个基于 Java 的工具,所以要做的第一件事情就是安装 JDK. 如果你还未安装 JDK,可以参考我们的 Java 开发环境配置. 系统要求 项目 要求 JDK ...
- Spring Boot学习(一)——Spring Boot介绍
Spring Boot介绍 Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式 ...
- 【多线程】Android多线程学习笔记——线程池
Java线程池采用了享元设计模式,在系统中维持一定数量的线程,用于处理异步或并发需求,在平时处理异步或并发任务时被广泛使用.这里基于JDK1.8和Android28来整理一些关于线程池的知识点. 一. ...
- Python程序调用摄像头实现人脸识别
使用简单代码实现摄像头进行在线人脸识别 import cv2 import sys import logging as log import datetime as dt from time impo ...