EPackageExtension

An EPackageSegment is a portion of the package that can be requested in cooked builds.

Choose your operating system:

Windows

macOS

Linux

References

Module

CoreUObject

Header

/Engine/Source/Runtime/CoreUObject/Public/Misc/PackagePath.h

Include

#include "Misc/PackagePath.h"

Syntax

enum EPackageExtension
{
    Unspecified             =0,
    Asset,
    Map,
    TextAsset,
    TextMap,
    Custom,
    EmptyString,
    Exports,
    BulkDataDefault,
    BulkDataOptional,
    BulkDataMemoryMapped,
    PayloadSidecar,
}

Values

Name

Description

Unspecified

Header Segments.

Asset

A binary-format header that does not contain a UWorld or ULevel

Map

A binary-format header that contains a UWorld or ULevel

TextAsset

A text-format header that does not contain a UWorld or ULevel

TextMap

A text-format header that contains a UWorld or ULevel

Custom

Used when the owner of an EPackageExtension has a specific extension that does not match one of the enumerated possibilies, e.g. a custom extension on a temp file

EmptyString

Used by iostore to indicate that the package should be requested with no extension

Exports

BulkDataDefault

BulkDataOptional

BulkDataMemoryMapped

PayloadSidecar

Remarks

An EPackageSegment is a portion of the package that can be requested in cooked builds. It is only used by the loading code in CoreUObject; all other uses default to EPackageSegment::Header See PackageSegment.h Enum for the extensions that a package payload can be stored under. Each extension can be used by only one EPackageSegment EPackageSegment::Header segment has multiple possible extensions Use LexToString to convert an EPackageExtension to the extension string to append to a file's basename (e.g. LexToString(EPackageExtension::Asset) -> ".uasset" Exceptions: Unspecified -> Custom -> ".CustomExtension"; the actual string to use is stored as a separate field on an FPackagePath