UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FPakEntry Struct Reference

#include <IPlatformFilePak.h>

Public Member Functions

 FPakEntry ()
 
int64 GetSerializedSize (int32 Version) const
 
bool operator== (const FPakEntry &B) const
 
bool operator!= (const FPakEntry &B) const
 
bool IndexDataEquals (const FPakEntry &B) const
 
void Reset ()
 
void Serialize (FArchive &Ar, int32 Version)
 
void SetFlag (uint8 InFlag, bool bValue)
 
bool GetFlag (uint8 InFlag) const
 
bool IsEncrypted () const
 
void SetEncrypted (bool bEncrypted)
 
bool IsDeleteRecord () const
 
void SetDeleteRecord (bool bDeleteRecord)
 

Static Public Member Functions

static bool VerifyPakEntriesMatch (const FPakEntry &FileEntryA, const FPakEntry &FileEntryB)
 

Public Attributes

int64 Offset
 
int64 Size
 
int64 UncompressedSize
 
uint8 Hash [20]
 
TArray< FPakCompressedBlockCompressionBlocks
 
uint32 CompressionBlockSize
 
uint32 CompressionMethodIndex
 
uint8 Flags
 
bool Verified
 

Static Public Attributes

static const uint8 Flag_None = 0x00
 
static const uint8 Flag_Encrypted = 0x01
 
static const uint8 Flag_Deleted = 0x02
 

Detailed Description

Struct holding info about a single file stored in pak file.

CHANGE THIS FILE RARELY AND WITH GREAT CARE. MODIFICATIONS WILL RESULT IN EVERY PAK ENTRY IN AN EXISTING INSTALL HAVING TO TO BE PATCHED.

On Fortnite that would be 15GB of data (250k pak entries * 64kb patch block) just to add/change/remove a field.

Constructor & Destructor Documentation

◆ FPakEntry()

FPakEntry::FPakEntry ( )
inline

Constructor.

Member Function Documentation

◆ GetFlag()

bool FPakEntry::GetFlag ( uint8  InFlag) const
inline

◆ GetSerializedSize()

int64 FPakEntry::GetSerializedSize ( int32  Version) const
inline

Gets the size of data serialized by this struct.

Returns
Serialized data size.

◆ IndexDataEquals()

bool FPakEntry::IndexDataEquals ( const FPakEntry B) const
inline

◆ IsDeleteRecord()

bool FPakEntry::IsDeleteRecord ( ) const
inline

◆ IsEncrypted()

bool FPakEntry::IsEncrypted ( ) const
inline

◆ operator!=()

bool FPakEntry::operator!= ( const FPakEntry B) const
inline

Compares two FPakEntry structs.

◆ operator==()

bool FPakEntry::operator== ( const FPakEntry B) const
inline

Compares two FPakEntry structs.

◆ Reset()

void FPakEntry::Reset ( )
inline

◆ Serialize()

void FPakEntry::Serialize ( FArchive Ar,
int32  Version 
)
inline

Serializes FPakEntry struct.

Parameters
ArArchive to serialize data with.
EntryData to serialize.

◆ SetDeleteRecord()

void FPakEntry::SetDeleteRecord ( bool  bDeleteRecord)
inline

◆ SetEncrypted()

void FPakEntry::SetEncrypted ( bool  bEncrypted)
inline

◆ SetFlag()

void FPakEntry::SetFlag ( uint8  InFlag,
bool  bValue 
)
inline

◆ VerifyPakEntriesMatch()

bool FPakEntry::VerifyPakEntriesMatch ( const FPakEntry FileEntryA,
const FPakEntry FileEntryB 
)
static

Verifies two entries match to check for corruption.

Parameters
FileEntryAEntry 1.
FileEntryBEntry 2.

Member Data Documentation

◆ CompressionBlocks

TArray<FPakCompressedBlock> FPakEntry::CompressionBlocks

Array of compression blocks that describe how to decompress this pak entry.

◆ CompressionBlockSize

uint32 FPakEntry::CompressionBlockSize

Size of a compressed block in the file.

◆ CompressionMethodIndex

uint32 FPakEntry::CompressionMethodIndex

Index into the compression methods in this pakfile.

◆ Flag_Deleted

const uint8 FPakEntry::Flag_Deleted = 0x02
static

◆ Flag_Encrypted

const uint8 FPakEntry::Flag_Encrypted = 0x01
static

◆ Flag_None

const uint8 FPakEntry::Flag_None = 0x00
static

◆ Flags

uint8 FPakEntry::Flags

Pak entry flags.

◆ Hash

uint8 FPakEntry::Hash[20]

File SHA1 value.

◆ Offset

int64 FPakEntry::Offset

Offset into pak file where the file is stored.

◆ Size

int64 FPakEntry::Size

Serialized file size.

◆ UncompressedSize

int64 FPakEntry::UncompressedSize

Uncompressed file size.

◆ Verified

bool FPakEntry::Verified
mutable

Flag is set to true when FileHeader has been checked against PakHeader. It is not serialized.


The documentation for this struct was generated from the following files: