[UE4]Building System Notes
keywords:CMD Batch, Build Android, Packaging, Building, Unreal Automation Tool, Patching
Blogs & Documents
Build Configurations Reference
https://docs.unrealengine.com/5.3/en-US/build-configurations-reference-for-unreal-engine/
Origin Text: Getting Started with In App Billing APIs on Unreal Engine for Android
https://medium.com/@anirudhd/getting-started-with-in-app-billing-apis-on-unreal-engine-for-android-f3da0ed9b6d8
UE4 如何用命令行来打包你的游戏
https://juejin.cn/post/7163561864071217183
A man’s notes as he discovers how Unreal Engine compiles things
https://github.com/Allar/compiling-unreal
UE4 Building Plugins
Resource Patch
https://www.unrealengine.com/marketplace/en-US/slug/resource-patch
Check All Blueprints Compile
https://www.unrealengine.com/marketplace/en-US/slug/check-blueprints-compile
ue4 assets & extern resource packing plugin.
https://github.com/hxhb/HotPatcher
Reload header files, change your class structure, creates micro-dlls for ultra-fast reloads on big projects
https://www.unrealengine.com/marketplace/en-US/product/c-hot-reload
Hot Code Reloading
A UE4 plugin wrapper for Molecular Matter’s Live++ Hot-Reloading Library
https://github.com/kitelightning/LivePP
Reload header files, change your class structure, creates micro-dlls for ultra-fast reloads on big projects
https://www.unrealengine.com/marketplace/en-US/product/c-hot-reload
Building Scripts (CLI)
Compile Unreal Engine 4.22 using FastBuild
https://github.com/Ronsenval/UnrealEngineCompilationUsingFastBuild
UE4 Plugin Build system
https://github.com/coderespawn/ue4-plugin-build-system
Command-line interface for Unreal Engine 4 (Recommended)
https://github.com/adamrehn/ue4cli
Patching
keywords: 分包, chunk, cooking
ChunkDownloader Patching Solution. Setting up a local host web site
https://docs.unrealengine.com/4.27/en-US/SharingAndReleasing/Patching/ChunkDownloader/
General Patching Information. Information about .pak files, chunking, and other processes related to general patching
https://docs.unrealengine.com/4.27/en-US/SharingAndReleasing/Patching/GeneralPatching/
UE4 原生热更实现方案
https://zhuanlan.zhihu.com/p/523509674
Cooking and Chunking. Cooking Content and Building .pak Files for Distribution
https://docs.unrealengine.com/4.27/en-US/SharingAndReleasing/Patching/GeneralPatching/CookingAndChunking/
Build Commands
Location / directory of building / packing log:
Engine\Programs\AutomationTool\Saved\Logs\UBT-MyProj-Android-Shipping.txt
Engine\Programs\AutomationTool\Saved\Logs\Logs.txt
UBT (UnrealBuildTool)
UBT Command Arguments
Example:
C:\UE4\Engine\Binaries\DotNET\UnrealBuildTool.exe UnrealHeaderTool Win64 Development -Project=C:\MyGame\MyGame.uproject C:\MyGame\MyGame.uproject -NoUBTMakefiles -Manifest=C:\UE4\Engine\Intermediate\Build\Manifest.xml -NoHotReload -log="C:\UE4\Engine\Programs\AutomationTool\Saved\Logs\UBT-UnrealHeaderTool-Win64-Development.txt"
You can find more UBT command example in Engine\Programs\AutomationTool\Saved\Logs\Logs.txt
.
UHT (UnrealHeaderTool)
How to debug UnrealHeaderTool
Append follows (exclude UnrealHeaderTool.exe
) in Visual Studio debug arguments(Configuration Properties -> Debugging -> Command Arguments), and switch Solution Configurations
to Debug
:
Game:
UnrealHeaderTool "C:\MyGame\MyGame.uproject" "C:\MyGame\Intermediate\Build\Win64\MyGame\Development\MyGame.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -abslog="C:\MyGame\Engine\Programs\AutomationTool\Saved\Logs\UHT-Rouge-Win64-Development.txt"
UE4 Editor:
UnrealHeaderTool UE4Editor "C:\UE4\Engine\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -abslog="C:\UE4\Engine\Programs\UnrealBuildTool\Log_UHT.txt"
UE5 Editor (Switch Solution Configurations
to DebugGame Editor
):
UnrealHeaderTool UnrealEditor "C:\UE5\Engine\Intermediate\Build\Win64\UnrealEditor\Development\UnrealEditor.uhtmanifest" -abslog="C:\UE5\Engine\Programs\UnrealBuildTool\Log_UHT.txt"
You can find more UHT command example in Engine\Programs\AutomationTool\Saved\Logs\Logs.txt
.
UEBuildXXX.cs
File path
UEBuildTarget.cs & UEBuildModuleCPP.cs:
Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildTarget.cs
Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildModuleCPP.cs
UE4 generated header (PCH.Core.h, generated from UEBuildXXX.cs):
UE4\Engine\Intermediate\Build\Win64\UE4Editor\Development\Core\PCH.Core.h
UE5 generated header (PCH.Core.h, generated from UEBuildXXX.cs):
UE5\Engine\Intermediate\Build\Win64\x64\UnrealEditor\Development\Core\PCH.Core.h
青山依旧在,几度夕阳红。----杨慎《临江仙·滚滚长江东逝水》