# UProjectPackagingSettings

Implements the Editor's user settings.

## Navigation

Unreal Engine C++ API Reference > Developer > DeveloperToolSettings > Settings

## Inheritance Hierarchy

- UObjectBase

## References

Module | DeveloperToolSettings
Header | /Engine/Source/Developer/DeveloperToolSettings/Classes/Settings/ProjectPackagingSettings.h
Include | #include "Settings/ProjectPackagingSettings.h"

## Syntax

    class UProjectPackagingSettings : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

## Remarks

Implements the Editor's user settings.

## Variables

Type | Name | Description
--- | --- | ---
FDirectoryPath | ApplocalPrerequisitesDirectory | A directory containing additional prerequisite packages that should be staged in the executable directory.
bool | bBuildHttpChunkInstallData | If enabled, will generate data for HTTP Chunk Installer.
bool | bChunkHardReferencesOnly | Normally during chunk generation all dependencies of a package in a chunk will be pulled into that package's chunk.
bool | bCompressed | Create compressed cooked packages (decreased deployment size)
bool | bCookAll | Cook all things in the project content directory
bool | bCookMapsOnly | Cook only maps (this only affects the cookall flag)
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.
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
bool | bForceUseProjectCompressionFormatIgnoreHardwareOverride | Force use of PackageCompressionFormat (do not use override HardwareCompressionFormat from DDPI)
bool | bGenerateChunks | If enabled, will generate pak file chunks.
bool | bGenerateNoChunks | If enabled, no platform will generate chunks, regardless of settings in platform-specific ini files.
bool | bMakeBinaryConfig | If enabled, staging will make a binary config file for faster loading.
bool | bPackageCompressionEnableDDC | Specifies if DDC should be used to store and retrieve compressed data when creating IoStore containers.
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
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
bool | bSkipEditorContent | Don't include content in any editor folders when cooking.
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
EProjectPackagi... | Build | Specifies whether to build the game executable during packaging.
EProjectPackagi... | BuildConfiguration | The build configuration for which the project is packaged.
FString | BuildTarget | Name of the target to build
bool | bUseIoStore | If enabled, use .utoc/.ucas container files for staged/packaged package data instead of pak.
bool | bUseZenStore | If enabled, use Zen storage server for storing and fetching cooked data instead of using the local file system.
TArray< FString... | CompressedChunkWildcard | If set, only these specific pak files will be compressed.
TArray< FString... | CulturesToStage | Cultures whose data should be cooked, staged, and packaged.
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
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 Note: These paths are relative to your project Content directory
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 Note: These paths are relative to your project Content directory
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 Note: These paths are relative to your project Content directory
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 Note: These paths are relative to your project Content directory
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
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
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
bool | FullRebuild | If enabled, a full rebuild will be enforced each time the project is being packaged.
FDirectoryPath | HttpChunkInstallDataDirectory | When "Build HTTP Chunk Install Data" is enabled this is the directory where the data will be build to.
FString | HttpChunkInstallDataVersion | Version name for HTTP Chunk Install Data.
bool | IncludeAppLocalPrerequisites | Specifies whether to include prerequisites alongside the game executable.
bool | IncludeCrashReporter | Specifies whether to include the crash reporter in the packaged project.
bool | IncludeDebugFiles | If enabled, debug files will be included in staged shipping builds.
bool | IncludePrerequisites | Specifies whether to include an installer for prerequisites of packaged games, such as redistributable operating system components, on platforms that support it.
TArray< FString... | IniKeyDenylist | List of ini file keys to strip when packaging
TArray< FString... | IniSectionDenylist | List of ini file sections to strip when packaging
EProjectPackagi... | InternationalizationPreset | Predefined sets of culture whose internationalization data should be packaged.
int32 | LocalizationTargetCatchAllChunkId | The chunk ID that should be used as the catch-all chunk for any non-asset localized strings
TArray< FString... | LocalizationTargetsToChunk | List of localization targets that should be chunked during cooking (if using chunks)
TArray< FFilePa... | MapsToCook | List of maps to include when no other map list is specified on commandline
int64 | MaxChunkSize | If > 0 this sets a maximum size per chunk.
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
FString | PackageAdditionalCompressionOptions | A generic setting for allowing a project to control compression settings during .pak file and iostore compression.
FString | PackageCompressionFormat | A comma separated list of formats to use for .pak file and IoStore compression.
int32 | PackageCompressionLevel_DebugDevelopment | For compressors with variable levels, select the compressor effort level, which makes packages smaller but takes more time to encode.
int32 | PackageCompressionLevel_Distribution |
int32 | PackageCompressionLevel_TestShipping |
FString | PackageCompressionMethod | For compressors with multiple methods, select one.
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.
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.
int32 | PackageCompressionMinSizeToConsiderDDC | Specifies the minimum (uncompressed) size for storing a compressed IoStore chunk in DDC.
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.
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
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
bool | UsePakFile | If enabled, all content will be put into a one or more .pak files instead of many individual files (default = enabled).
EAssetRegistryW... | WriteBackMetadataToAssetRegistry | Whether to write staging metadata back to the asset registry.

## Constructors

Type | Name | Description
--- | --- | ---
| UProjectPackagingSettings ( const FObjectInitializer& ObjectIn... ) |

## Functions

Type | Name | Description
--- | --- | ---
const FTarge... | GetBuildTargetInfo () | Gets the current build target, checking that it's valid, and the default build target if it is not
FString | GetConfigPlatform () |
TArray< EPro... | GetValidPackageConfigurations () | Gets a list of all valid packaging configurations for the current project
void | LoadSettingsForPlatform ( FString PlatformName ) | For non-default object instances, this will LoadConfig for a specific platform,

## Overridden from UObject

Type | Name | Description
--- | --- | ---
bool | CanEditChange ( const FProperty* InProperty ) | Called by the editor to query whether a property of this object is allowed to be modified.
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)
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.
void | PostEditChangeProperty ( FPropertyChangedEvent& PropertyCha... ) | Called when a property on this object has been modified externally
void | PostInitProperties () | Called after the C++ constructor and after the properties have been initialized, including those loaded from config.

## Classes

Type | Name | Description
--- | --- | ---
Public struct | FConfigurationInfo | Information about each packaging configuration

## Constants

Name | Description
--- | ---
ConfigurationInfo | Static array of information about each configuration

## Deprecated Variables

Type | Name | Description
--- | --- | ---
bool | bEncryptIniFiles_DEPRECATED | Encrypt ini files inside of the pak file NOTE: Replaced by the settings inside the cryptokeys system.
bool | bEncryptPakIndex_DEPRECATED | Encrypt the pak index NOTE: Replaced by the settings inside the cryptokeys system.
bool | bExcludeMonolithicEngineHeadersInNativizedCode | Blueprint Nativization has been removed as a supported feature. This setting is no longer exposed for editing and will eventually be removed.
bool | bIncludeNativizedAssetsInProjectGeneration | Blueprint Nativization has been removed as a supported feature. This setting is no longer exposed for editing and will eventually be removed.
EProjectPackagi... | BlueprintNativizationMethod | Blueprint Nativization has been removed as a supported feature. This setting is no longer exposed for editing and will eventually be removed.
TArray< FString... | EarlyDownloaderPakFileFiles_DEPRECATED | List of specific files to include with GenerateEarlyDownloaderPakFile
bool | GenerateEarlyDownloaderPakFile_DEPRECATED | Enable the early downloader pak file pakearly.txt This has been superseded by the functionality in DefaultPakFileRules.ini
TArray< FString... | IniKeyBlacklist | This property is no longer supported. Use IniKeyDenylist.
TArray< FString... | IniSectionBlacklist | This property is no longer supported. Use IniSectionDenylist.
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

Type | Name | Description
--- | --- | ---
bool | AddBlueprintAssetToNativizationList ( const UBlueprint* InBlueprint ) | Blueprint Nativization has been removed as a supported feature. This API will eventually be removed.
bool | IsBlueprintAssetInNativizationList ( const UBlueprint* InBlueprint ) | Blueprint Nativization has been removed as a supported feature. This API will eventually be removed.
bool | RemoveBlueprintAssetFromNativizationList ( const UBlueprint* InBlueprint ) | Blueprint Nativization has been removed as a supported feature. This API will eventually be removed.

Ask questions and help your peers Developer Forums

Write your own tutorials or read those from others Learning Library

On this page

- Navigation
- Inheritance Hierarchy
- References
- Syntax
- Remarks
- Variables
- Constructors
- Functions
- Overridden from UObject
- Classes
- Constants
- Deprecated Variables
- Deprecated Functions

## Privacy Preference Center

### Your Privacy

When you visit any website, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and change our default settings. However, blocking some types of cookies may impact your experience of the site and the services we are able to offer. More information

- ### Strictly Necessary Cookies

  Always Active
  Strictly Necessary Cookies

  These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information.

  Cookies Details‎

- ### Performance Cookies

  Performance Cookies

  These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.

  Cookies Details‎

- ### Functional Cookies

  Functional Cookies

  These cookies enable the website to provide enhanced functionality and personalization. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly.

  Cookies Details‎

Consent Leg.Interest
Select All Vendors
Select All Vendors
Select All Hosts

Select All

- REPLACE-WITH-DYANMIC-HOST-ID

  ### 33Across

  View Third Party Cookies
  - Name
    cookie name

- REPLACE-WITH-DYANMIC-VENDOR-ID

  ### 33Across

  3 Purposes

  View Privacy Notice

  ### 33Across

  3 Purposes

  View Privacy Notice
  REPLACE-WITH-DYANMIC-VENDOR-ID

  Consent Purposes

  Location Based Ads

  Consent Allowed

  Legitimate Interest Purposes

  Personalize

  Require Opt-Out

  Special Purposes

  Location Based Ads

  Features

  Location Based Ads

  Special Features

  Location Based Ads

Clear Filters

Information storage and access

By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and personalize content.Privacy Policy