diff --git a/docs/Build & Automation System/BuildCookRun.md b/docs/Build & Automation System/BuildCookRun.md new file mode 100644 index 0000000..858db39 --- /dev/null +++ b/docs/Build & Automation System/BuildCookRun.md @@ -0,0 +1,118 @@ +## AutomationTool->BuildCookRun CommandLine + +| Flag | Summary | +|------------------------------------------|---------| +| `-project=Path` | Project path (required), i.e: `-project=QAGame`, `-project=Samples\BlackJack\BlackJack.uproject`, `-project=D:\Projects\MyProject.uproject` | +| `-destsample` | Destination Sample name | +| `-foreigndest` | Foreign Destination | +| `-targetplatform=PlatformName` | Target platform for building, cooking and deployment (also `-Platform`) | +| `-servertargetplatform=PlatformName` | Target platform for building, cooking and deployment of the dedicated server (also `-ServerPlatform`) | +| `-foreign` | Generate a foreign uproject from blankproject and use that | +| `-foreigncode` | Generate a foreign code uproject from platformergame and use that | +| `-CrashReporter` | True if we should build crash reporter | +| `-cook`, `-cookonthefly` | Determines if the build is going to use cooked data | +| `-skipcook` | Use a cooked build, but we assume the cooked data is up to date and where it belongs, implies `-cook` | +| `-skipcookonthefly` | In a cookonthefly build, used solely to pass information to the package step | +| `-clean` | Wipe intermediate folders before building | +| `-unattended` | Assumes no operator is present, always terminates without waiting for something. | +| `-pak` | Generate a pak file | +| `-iostore` | Generate I/O store container file(s) | +| `-zenstore` | Save cooked output data to the Zen storage server | +| `-nozenautolaunch` | URL to a running Zen server | +| `-makebinaryconfig` | Generate optimized config data during staging to improve loadtimes | +| `-signpak=keys` | Sign the generated pak file with the specified key, i.e. `-signpak=C:\Encryption.keys`. Also implies `-signedpak`. | +| `-prepak` | Attempt to avoid cooking and instead pull pak files from the network, implies `pak` and `skipcook` | +| `-signed` | The game should expect to use a signed pak file. | +| `-PakAlignForMemoryMapping` | The game will be set up for memory mapping bulk data. | +| `-rehydrateassets` | Should virtualized assets be rehydrated? | +| `-skippak` | Use a pak file, but assume it is already built, implies `pak` | +| `-skipiostore` | Override the `-iostore` commandline option to not run it | +| `-stage` | Put this build in a stage directory | +| `-skipstage` | Uses a stage directory, but assumes everything is already there, implies `-stage` | +| `-manifests` | Generate streaming install manifests when cooking data | +| `-createchunkinstall` | Generate streaming install data from manifest when cooking data, requires `-stage` & `-manifests` | +| `-skipencryption` | Skips encrypting pak files even if crypto keys are provided | +| `-archive` | Put this build in an archive directory | +| `-build` | True if build step should be executed | +| `-noxge` | True if XGE should NOT be used for building | +| `-CookPartialgc` | While cooking clean up packages as we are done with them rather then cleaning everything up when we run out of space | +| `-CookInEditor` | Did we cook in the editor instead of in UAT | +| `-IgnoreCookErrors` | Ignores cook errors and continues with packaging etc | +| `-nodebuginfo` | Do not copy debug files to the stage | +| `-separatedebuginfo` | Output debug info to a separate directory | +| `-MapFile` | Generates a *.map file | +| `-nocleanstage` | Skip cleaning the stage directory | +| `-run` | Run the game after it is built (including server, if `-server`) | +| `-cookonthefly` | Run the client with cooked data provided by cook on the fly server | +| `-Cookontheflystreaming` | Run the client in streaming cook on the fly mode (don't cache files locally instead force reget from server each file load) | +| `-fileserver` | Run the client with cooked data provided by UnrealFileServer | +| `-dedicatedserver` | Build, cook and run both a client and a server (also `-server`) | +| `-client` | Build, cook and run a client and a server, uses client target configuration | +| `-noclient` | Do not run the client, just run the server | +| `-logwindow` | Create a log window for the client | +| `-package` | Package the project for the target platform | +| `-skippackage` | Skips packaging the project for the target platform | +| `-neverpackage` | Skips preparing data that would be used during packaging, in earlier stages. Different from `skippackage` which is used to optimize later stages like archive, which still was packaged at some point | +| `-distribution` | Package for distribution the project | +| `-PackageEncryptionKeyFile` | Path to file containing encryption key to use in packaging | +| `-prereqs` | Stage prerequisites along with the project | +| `-applocaldir` | Location of prerequisites for applocal deployment | +| `-Prebuilt` | This is a prebuilt cooked and packaged build | +| `-AdditionalPackageOptions` | Extra options to pass to the platform's packager | +| `-deploy` | Deploy the project for the target platform | +| `-getfile` | Download file from target after successful run | +| `-IgnoreLightMapErrors` | Whether Light Map errors should be treated as critical | +| `-trace` | The list of trace channels to enable | +| `-tracehost` | The host address of the trace recorder | +| `-tracefile` | The file where the trace will be recorded | +| `-sessionlabel` | A label to pass to analytics | +| `-stagingdirectory=Path` | Directory to copy the builds to, i.e. `-stagingdirectory=C:\Stage` | +| `-optionalfilestagingdirectory=Path` | Directory to copy the optional files to, i.e. `-optionalfilestagingdirectory=C:\StageOptional` | +| `-optionalfileinputdirectory=Path` | Directory to read the optional files from, i.e. `-optionalfileinputdirectory=C:\StageOptional` | +| `-CookerSupportFilesSubdirectory=subdir` | Subdirectory under staging to copy CookerSupportFiles (as set in Build.cs files). `-CookerSupportFilesSubdirectory=SDK` | +| `-unrealexe=ExecutableName` | Name of the Unreal Editor executable, i.e. `-unrealexe=UnrealEditor.exe` | +| `-archivedirectory=Path` | Directory to archive the builds to, i.e. `-archivedirectory=C:\Archive` | +| `-archivemetadata` | Archive extra metadata files in addition to the build (e.g. build.properties) | +| `-createappbundle` | When archiving for Mac, set this to true to package it in a .app bundle instead of normal loose files | +| `-iterativecooking` | Uses the iterative cooking, command line: `-iterativecooking` or `-iterate` | +| `-CookMapsOnly` | Cook only maps this only affects usage of `-cookall` the flag | +| `-CookAll` | Cook all the things in the content directory for this project | +| `-SkipCookingEditorContent` | Skips content under /Engine/Editor when cooking | +| `-FastCook` | Uses fast cook path if supported by target | +| `-cmdline` | Command line to put into the stage in UECommandLine.txt | +| `-bundlename` | String to use as the bundle name when deploying to mobile device | +| `-map` | Map to run the game with | +| `-AdditionalServerMapParams` | Additional server map params, i.e ?param=value | +| `-device` | Devices to run the game on | +| `-serverdevice` | Device to run the server on | +| `-skipserver` | Skip starting the server | +| `-numclients=n` | Start extra clients, n should be 2 or more | +| `-addcmdline` | Additional command line arguments for the program, which will not be staged in UECommandLine.txt in most cases | +| `-servercmdline` | Additional command line arguments for the program | +| `-clientcmdline` | Override command line arguments to pass to the client | +| `-nullrhi` | Add `-nullrhi` to the client commandlines | +| `-WriteBackMetadataToAssetRegistry` | Passthru to iostore staging, see IoStoreUtilities.cpp | +| `-RetainStagedDirectory` | If set, retain the staged directory for platforms that modify the I/O store containers for deployment. This is necessary for using the reference container for patch preventing on such platforms. | +| `-fakeclient` | Adds `?fake` to the server URL | +| `-editortest` | Rather than running a client, run the editor instead | +| `-RunAutomationTests` | When running `-editortest` or a client, run all automation tests, not compatible with `-server` | +| `-Crash=index` | When running `-editortest` or a client, adds commands like debug crash, debug rendercrash, etc based on index | +| `-deviceuser` | Linux username for unattended key generation | +| `-devicepass` | Linux password | +| `-RunTimeoutSeconds` | Timeout to wait after we launch the game | +| `-SpecifiedArchitecture` | Architecture to use for building any executables (see EditorArchitecture, etc for specific target type control) | +| `-EditorArchitecture` | Architecture to use for building editor executables | +| `-ServerArchitecture` | Architecture to use for building server executables | +| `-ClientArchitecture` | Architecture to use for building client/game executables | +| `-ProgramArchitecture` | Architecture to use for building program executables | +| `-UbtArgs` | Extra options to pass to UBT | +| `-MapsToRebuildLightMaps` | List of maps that need light maps rebuilding | +| `-MapsToRebuildHLODMaps` | List of maps that need HLOD rebuilding | +| `-ForceMonolithic` | Toggle to combined the result into one executable | +| `-ForceDebugInfo` | Forces debug info even in development builds | +| `-ForceNonUnity` | Toggle to disable the unity build system | +| `-ForceUnity` | Toggle to force enable the unity build system | +| `-Licensee` | If set, this build is being compiled by a licensee | +| `-NoSign` | Skips signing of code/content files. | + | +