UProjectPackagingSettings

Implements the Editor's user settings.

Windows
MacOS
Linux

Inheritance Hierarchy

UObjectBase

UObjectBaseUtility

UObject

UProjectPackagingSettings

References

Module

DeveloperToolSettings

Header

/Engine/Source/Developer/DeveloperToolSettings/Classes/Settings/ProjectPackagingSettings.h

Include

#include "Settings/ProjectPackagingSettings.h"

Syntax

class UProjectPackagingSettings : public UObject

Remarks

Implements the Editor's user settings.

Variables

Name Description

Public variable

FDirectoryPath

 

ApplocalPrerequisitesDirectory

A directory containing additional prerequisite packages that should be staged in the executable directory.

Public variable

bool

 

bBuildHttpChunkInstallData

If enabled, will generate data for HTTP Chunk Installer.

Public variable

bool

 

bChunkHardReferencesOnly

Normally during chunk generation all dependencies of a package in a chunk will be pulled into that package's chunk.

Public variable

bool

 

bCompressed

Create compressed cooked packages (decreased deployment size)

Public variable

bool

 

bCookAll

Cook all things in the project content directory

Public variable

bool

 

bCookMapsOnly

Cook only maps (this only affects the cookall flag)

Public variable

bool

 

bDeterministicShaderCodeOrder

With this option off, the shader code will be stored in the library essentially in a random order, squarely the same in which the assets were loaded by the cooker.

Public variable

bool

 

bForceOneChunkPerFile

If true, individual files are only allowed to be in a single chunk and it will assign it to the lowest number requested If false, it may end up in multiple chunks if requested by the cooker

Public variable

bool

 

bForceUseProjectCompressionFormatIgnoreHardwareOverride

Force use of PackageCompressionFormat (do not use override HardwareCompressionFormat from DDPI)

Public variable

bool

 

bGenerateChunks

If enabled, will generate pak file chunks.

Public variable

bool

 

bGenerateNoChunks

If enabled, no platform will generate chunks, regardless of settings in platform-specific ini files.

Public variable

bool

 

bMakeBinaryConfig

If enabled, staging will make a binary config file for faster loading.

Public variable

bool

 

bPackageCompressionEnableDDC

Specifies if DDC should be used to store and retrieve compressed data when creating IoStore containers.

Public variable

bool

 

bSharedMaterialNativeLibraries

By default shader shader code gets saved into individual platform agnostic files, enabling this option will use the platform-specific library format if and only if one is available This will reduce overall package size but might increase loading time

Public variable

bool

 

bShareMaterialShaderCode

By default shader code gets saved inline inside material assets, enabling this option will store only shader code once as individual files This will reduce overall package size but might increase loading time

Public variable

bool

 

bSkipEditorContent

Don't include content in any editor folders when cooking.

Public variable

bool

 

bSkipMovies

Don't include movies by default when staging/packaging Specific movies can be specified below, and this can be in a platform ini

Public variable

EProjectPackagi...

 

Build

Specifies whether to build the game executable during packaging.

Public variable

EProjectPackagi...

 

BuildConfiguration

The build configuration for which the project is packaged.

Public variable

FString

 

BuildTarget

Name of the target to build

Public variable

bool

 

bUseIoStore

If enabled, use .utoc/.ucas container files for staged/packaged package data instead of pak.

Public variable

bool

 

bUseZenStore

If enabled, use Zen storage server for storing and fetching cooked data instead of using the local file system.

Public variable

TArray< FString...

 

CompressedChunkWildcard

If set, only these specific pak files will be compressed.

Public variable

TArray< FString...

 

CulturesToStage

Cultures whose data should be cooked, staged, and packaged.

Public variable

TArray< FDirect...

 

DirectoriesToAlwaysCook

Directories containing .uasset files that should always be cooked regardless of whether they're referenced by anything in your project These paths are stored either as a full package path (e.g. /Game/Folder, /Engine/Folder, /PluginName/Folder) or as a relative package path from /Game

Public variable

TArray< FDirect...

 

DirectoriesToAlwaysStageAsNonUFS

Directories containing files that should always be copied when packaging your project, but are not supposed to be part of the .pak file This is used to stage additional files that you manually load without using the UFS (Unreal File System) file IO API, eg, third-party libraries that perform their own internal file IO

Public variable

TArray< FDirect...

 

DirectoriesToAlwaysStageAsNonUFSServer

Directories containing files that should always be copied when packaging your project for a dedicated server, but are not supposed to be part of the .pak file This is used to stage additional files that you manually load without using the UFS (Unreal File System) file IO API, eg, third-party libraries that perform their own internal file IO

Public variable

TArray< FDirect...

 

DirectoriesToAlwaysStageAsUFS

Directories containing files that should always be added to the .pak file (if using a .pak file; otherwise they're copied as individual files) This is used to stage additional files that you manually load via the UFS (Unreal File System) file IO API

Public variable

TArray< FDirect...

 

DirectoriesToAlwaysStageAsUFSServer

Directories containing files that should always be added to the .pak file for a dedicated server (if using a .pak file; otherwise they're copied as individual files) This is used to stage additional files that you manually load via the UFS (Unreal File System) file IO API

Public variable

TArray< FDirect...

 

DirectoriesToNeverCook

Directories containing .uasset files that should never be cooked even if they are referenced by your project These paths are stored either as a full package path (e.g. /Game/Folder, /Engine/Folder, /PluginName/Folder) or as a relative package path from /Game

Public variable

TArray< FProjec...

 

EngineCustomBuilds

A list of custom builds, specified in engine ini files, and not editable in editor, that will show up in the Platforms menu to allow customized builds for all projects

Public variable

bool

 

ForDistribution

If enabled, a distribution build will be created and the shipping configuration will be used If disabled, a development build will be created Distribution builds are for publishing to the App Store

Public variable

bool

 

FullRebuild

If enabled, a full rebuild will be enforced each time the project is being packaged.

Public variable

FDirectoryPath

 

HttpChunkInstallDataDirectory

When "Build HTTP Chunk Install Data" is enabled this is the directory where the data will be build to.

Public variable

FString

 

HttpChunkInstallDataVersion

Version name for HTTP Chunk Install Data.

Public variable

bool

 

IncludeAppLocalPrerequisites

Specifies whether to include prerequisites alongside the game executable.

Public variable

bool

 

IncludeCrashReporter

Specifies whether to include the crash reporter in the packaged project.

Public variable

bool

 

IncludeDebugFiles

If enabled, debug files will be included in the packaged game

Public variable

bool

 

IncludePrerequisites

Specifies whether to include an installer for prerequisites of packaged games, such as redistributable operating system components, on platforms that support it.

Public variable

TArray< FString...

 

IniKeyBlacklist

List of ini file keys to strip when packaging

Public variable

TArray< FString...

 

IniSectionBlacklist

List of ini file sections to strip when packaging

Public variable

EProjectPackagi...

 

InternationalizationPreset

Predefined sets of culture whose internationalization data should be packaged.

Public variable

int32

 

LocalizationTargetCatchAllChunkId

The chunk ID that should be used as the catch-all chunk for any non-asset localized strings

Public variable

TArray< FString...

 

LocalizationTargetsToChunk

List of localization targets that should be chunked during cooking (if using chunks)

Public variable

TArray< FFilePa...

 

MapsToCook

List of maps to include when no other map list is specified on commandline

Public variable

int64

 

MaxChunkSize

If > 0 this sets a maximum size per chunk.

Public variable

TArray< FString...

 

NonUFSMovies

If SkipMovies is true, these specific movies will be copied when packaging your project, but are not supposed to be part of the .pak file This should be the name with no extension

Public variable

FString

 

PackageAdditionalCompressionOptions

A generic setting for allowing a project to control compression settings during .pak file and iostore compression.

Public variable

FString

 

PackageCompressionFormat

A comma separated list of formats to use for .pak file and IoStore compression.

Public variable

int32

 

PackageCompressionLevel_DebugDevelopment

For compressors with variable levels, select the encoder effort level, which makes packages smaller but takes more time to encode.

Public variable

int32

 

PackageCompressionLevel_Distribution

Public variable

int32

 

PackageCompressionLevel_TestShipping

Public variable

FString

 

PackageCompressionMethod

For compressors with multiple methods, select one.

Public variable

int32

 

PackageCompressionMinBytesSaved

A generic setting which is used to determine whether it is worth using compression for a block of data when creating IoStore or .pak files.

Public variable

int32

 

PackageCompressionMinPercentSaved

A generic setting which is used to determine whether it is worth using compression for a block of data when creating IoStore or .pak files.

Public variable

int32

 

PackageCompressionMinSizeToConsiderDDC

Specifies the minimum (uncompressed) size for storing a compressed IoStore chunk in DDC.

Public variable

TArray< FProjec...

 

ProjectCustomBuilds

A list of custom builds that will show up in the Platforms menu to allow customized builds that make sense for your project.

Public variable

FDirectoryPath

 

StagingDirectory

The directory to which the packaged project will be copied.

Public variable

TArray< FDirect...

 

TestDirectoriesToNotSearch

Directories containing .uasset files that are for editor testing purposes and should not be included in enumerations of all packages in a root directory, because they will cause errors on load These paths are stored either as a full package path (e.g. /Game/Folder, /Engine/Folder, /PluginName/Folder) or as a relative package path from /Game

Public variable

TArray< FString...

 

UFSMovies

If SkipMovies is true, these specific movies will still be added to the .pak file (if using a .pak file; otherwise they're copied as individual files) This should be the name with no extension

Public variable

bool

 

UsePakFile

If enabled, all content will be put into a one or more .pak files instead of many individual files (default = enabled).

Constructors

Name Description

Public function

UProjectPackagingSettings

(
    const FObjectInitializer& ObjectIn...
)

Functions

Name Description

Public function Const

EProjectPack...

 

GetBuildConfigurationForPlatform

(
    FName PlatformName
)

Get and set the per-platform build config and targetplatform settings for the Turnkey/Launch on menu

Public function Const

FString

 

GetBuildTargetForPlatform

(
    FName PlatformName
)

Public function Const

const FTarge...

 

GetBuildTargetInfo()

Gets the current build target, checking that it's valid, and the default build target if it is not

Public function Const

const FTarge...

 

GetBuildTargetInfoForPlatform

(
    FName PlatformName,
    bool& bOutIsProjectTarget
)

Public function Const

FString

 

GetConfigPlatform()

Public function Const

FName

 

GetTargetFlavorForPlatform

(
    FName PlatformName
)

Public function Static

TArray< EPro...

 

GetValidPackageConfigurations()

Gets a list of all valid packaging configurations for the current project

Public function

void

 

LoadSettingsForPlatform

(
    FString PlatformName
)

For non-default object instances, this will LoadConfig for a specific platform,

Public function

void

 

SetBuildConfigurationForPlatform

(
    FName PlatformName,
    EProjectPackagingBuildConfiguration...
)

Public function

void

 

SetBuildTargetForPlatform

(
    FName PlatformName,
    FString BuildTargetName
)

Public function

void

 

SetTargetFlavorForPlatform

(
    FName PlatformName,
    FName TargetFlavorName
)

Overridden from UObject

Name Description

Public function Virtual Const

bool

 

CanEditChange

(
    const FProperty* InProperty
)

Called by the editor to query whether a property of this object is allowed to be modified.

Public function Virtual Const

const TCHAR ...

 

GetConfigOverridePlatform()

Returns the override config hierarchy platform (if NDAd platforms need defaults to not be in Base*.ini but still want editor to load them)

Public function Virtual

void

 

OverrideConfigSection

(
    FString& InOutSectionName
)

This class was moved from UnrealEd module, but to allow it to be used by developer tools, like UFE, it has moved to this module.

Public function Virtual

void

 

PostEditChangeProperty

(
    FPropertyChangedEvent& PropertyCha...
)

Called when a property on this object has been modified externally

Public function Virtual

void

 

PostInitProperties()

Called after the C++ constructor and after the properties have been initialized, including those loaded from config.

Classes

Name

Description

Public struct

FConfigurationInfo

Information about each packaging configuration

Constants

Name

Description

ConfigurationInfo

Static array of information about each configuration

Deprecated Variables

Name Description

Public variable

bool

 

bEncryptIniFiles_DEPRECATED

Encrypt ini files inside of the pak file

Public variable

bool

 

bEncryptPakIndex_DEPRECATED

Encrypt the pak index

Public variable

bool

 

bExcludeMonolithicEngineHeadersInNativizedCode

Blueprint Nativization has been removed as a supported feature. This setting is no longer exposed for editing and will eventually be removed.

Public variable

bool

 

bIncludeNativizedAssetsInProjectGeneration

Blueprint Nativization has been removed as a supported feature. This setting is no longer exposed for editing and will eventually be removed.

Public variable

EProjectPackagi...

 

BlueprintNativizationMethod

Blueprint Nativization has been removed as a supported feature. This setting is no longer exposed for editing and will eventually be removed.

Public variable

TArray< FString...

 

EarlyDownloaderPakFileFiles_DEPRECATED

List of specific files to include with GenerateEarlyDownloaderPakFile

Public variable

bool

 

GenerateEarlyDownloaderPakFile_DEPRECATED

Enable the early downloader pak file pakearly.txt This has been superseded by the functionality in DefaultPakFileRules.ini

Public variable

TArray< FFilePa...

 

NativizeBlueprintAssets

Blueprint Nativization has been removed as a supported feature. This setting is no longer exposed for editing and will eventually be removed.

Deprecated Functions

Name Description

Public function

bool

 

AddBlueprintAssetToNativizationList

(
    const UBlueprint* InBlueprint
)

Blueprint Nativization has been removed as a supported feature. This API will eventually be removed.

Public function Const

bool

 

IsBlueprintAssetInNativizationList

(
    const UBlueprint* InBlueprint
)

Blueprint Nativization has been removed as a supported feature. This API will eventually be removed.

Public function

bool

 

RemoveBlueprintAssetFromNativizationList

(
    const UBlueprint* InBlueprint
)

Blueprint Nativization has been removed as a supported feature. This API will eventually be removed.