UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IPlatformFilePak.h File Reference
#include "Containers/Array.h"
#include "Containers/ArrayView.h"
#include "Containers/DirectoryTree.h"
#include "Containers/Map.h"
#include "Containers/Set.h"
#include "Containers/SparseArray.h"
#include "Containers/StringConv.h"
#include "Containers/Ticker.h"
#include "Containers/Utf8String.h"
#include "Containers/UnrealString.h"
#include "CoreMinimal.h"
#include "Delegates/Delegate.h"
#include "GenericPlatform/GenericPlatformChunkInstall.h"
#include "GenericPlatform/GenericPlatformFile.h"
#include "HAL/CriticalSection.h"
#include "HAL/PlatformCrt.h"
#include "HAL/PlatformTime.h"
#include "HAL/UnrealMemory.h"
#include "Logging/LogCategory.h"
#include "Logging/LogMacros.h"
#include "Math/BigInt.h"
#include "Math/NumericLimits.h"
#include "Math/UnrealMathSSE.h"
#include "Misc/AES.h"
#include "Misc/AssertionMacros.h"
#include "Misc/CString.h"
#include "Misc/CompressionFlags.h"
#include "Misc/DateTime.h"
#include "Misc/Guid.h"
#include "Misc/IEngineCrypto.h"
#include "Misc/Optional.h"
#include "Misc/Paths.h"
#include "Misc/ScopeLock.h"
#include "Misc/ScopeRWLock.h"
#include "Misc/SecureHash.h"
#include "Misc/TransactionallySafeCriticalSection.h"
#include "RSA.h"
#include "Serialization/Archive.h"
#include "Serialization/MemoryImage.h"
#include "Stats/Stats.h"
#include "Templates/Function.h"
#include "Templates/RefCounting.h"
#include "Templates/SharedPointer.h"
#include "Templates/UniquePtr.h"
#include "Templates/UnrealTemplate.h"
#include "Trace/Detail/Channel.h"
#include "UObject/NameTypes.h"
#include "UObject/UnrealNames.h"

Go to the source code of this file.

Classes

struct  FPakChunkSignatureCheckFailedData
 
struct  FPakInfo
 
struct  FPakCompressedBlock
 
struct  FPakEntry
 
struct  FPakEntryLocation
 
class  FSharedPakReader
 
struct  FPakEntryPair
 
class  FPakFile
 
struct  FPakFile::FScopedPakDirectoryIndexAccess
 
struct  FPakFile::FArchiveAndLastAccessTime
 
class  FPakFile::FBaseIterator
 
class  FPakFile::FPakEntryIterator
 
class  FPakFile::FFilenameIterator
 
class  FPakNoEncryption
 
class  FPakReaderPolicy< EncryptionPolicy >
 
class  FPakFileHandle< ReaderPolicy >
 
struct  FPakMountArgs
 
class  FPakPlatformFile
 
struct  FPakPlatformFile::FPakSigningFailureHandlerData
 
struct  FPakSignatureFile
 

Namespaces

namespace  UE
 
namespace  UE::PakFile
 
namespace  UE::PakFile::Private
 
namespace  UE::IoStore
 NO_LOGGING.
 

Macros

#define ENABLE_PAKFILE_USE_DIRECTORY_TREE   1
 
#define PAK_TRACKER   0
 
#define ENABLE_PAKFILE_RUNTIME_PRUNING   1
 
#define ENABLE_PAKFILE_RUNTIME_PRUNING_VALIDATE   ENABLE_PAKFILE_RUNTIME_PRUNING && !UE_BUILD_SHIPPING
 
#define PAKHASH_USE_CRC   1
 

Typedefs

typedef uint32 TPakChunkHash
 
typedef FPakPrincipalSignatureTableCheckFailureHandler FPakMasterSignatureTableCheckFailureHandler
 
typedef TMap< FUtf8String, FPakEntryLocationFPakDirectory
 
typedef TDirectoryTree< FPakDirectoryUE::PakFile::Private::FDirectoryTreeIndex
 
typedef TFunction< FSharedPakReader()> TAcquirePakReaderFunction
 

Functions

PAKFILE_API DECLARE_LOG_CATEGORY_EXTERN (LogPakFile, Log, All)
 
 DECLARE_FLOAT_ACCUMULATOR_STAT_EXTERN (TEXT("Total pak file read time"), STAT_PakFile_Read, STATGROUP_PakFile, PAKFILE_API)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Num open pak file handles"), STAT_PakFile_NumOpenHandles, STATGROUP_PakFile, PAKFILE_API)
 
PAKFILE_API TPakChunkHash ComputePakChunkHash (const void *InData, int64 InDataSizeInBytes)
 
FString ChunkHashToString (const TPakChunkHash &InHash)
 
 DECLARE_DELEGATE_RetVal_OneParam (bool, FFilenameSecurityDelegate, const TCHAR *)
 
 DECLARE_DELEGATE_ThreeParams (FPakCustomEncryptionDelegate, uint8 *, uint32, FGuid)
 
 DECLARE_MULTICAST_DELEGATE_OneParam (FPakChunkSignatureCheckFailedHandler, const FPakChunkSignatureCheckFailedData &)
 
 DECLARE_MULTICAST_DELEGATE_OneParam (FPakPrincipalSignatureTableCheckFailureHandler, const FString &)
 
 DECLARE_DELEGATE_ThreeParams (FPakSetIndexSettings, bool &, bool &, bool &)
 
FArchiveoperator<< (FArchive &Ar, FPakCompressedBlock &Block)
 
FArchiveoperator<< (FArchive &Ar, FPakEntryLocation &PakEntryLocation)
 

Macro Definition Documentation

◆ ENABLE_PAKFILE_RUNTIME_PRUNING

#define ENABLE_PAKFILE_RUNTIME_PRUNING   1

◆ ENABLE_PAKFILE_RUNTIME_PRUNING_VALIDATE

#define ENABLE_PAKFILE_RUNTIME_PRUNING_VALIDATE   ENABLE_PAKFILE_RUNTIME_PRUNING && !UE_BUILD_SHIPPING

◆ ENABLE_PAKFILE_USE_DIRECTORY_TREE

#define ENABLE_PAKFILE_USE_DIRECTORY_TREE   1

◆ PAK_TRACKER

#define PAK_TRACKER   0

◆ PAKHASH_USE_CRC

#define PAKHASH_USE_CRC   1

Typedef Documentation

◆ FPakDirectory

Pak directory type mapping a filename to an FPakEntryLocation.

◆ FPakMasterSignatureTableCheckFailureHandler

◆ TAcquirePakReaderFunction

Typedef for a function that returns an archive to use for accessing an underlying pak file

◆ TPakChunkHash

Function Documentation

◆ ChunkHashToString()

FString ChunkHashToString ( const TPakChunkHash InHash)
inline

◆ ComputePakChunkHash()

PAKFILE_API TPakChunkHash ComputePakChunkHash ( const void InData,
int64  InDataSizeInBytes 
)

◆ DECLARE_DELEGATE_RetVal_OneParam()

DECLARE_DELEGATE_RetVal_OneParam ( bool  ,
FFilenameSecurityDelegate  ,
const TCHAR  
)

Delegate for allowing a game to restrict the accessing of non-pak files

◆ DECLARE_DELEGATE_ThreeParams() [1/2]

DECLARE_DELEGATE_ThreeParams ( FPakCustomEncryptionDelegate  ,
uint8 ,
uint32  ,
FGuid   
)

◆ DECLARE_DELEGATE_ThreeParams() [2/2]

DECLARE_DELEGATE_ThreeParams ( FPakSetIndexSettings  ,
bool ,
bool ,
bool  
)

Delegate which allows a project to configure Index Pruning. This is a delegate instead of a config file because config files are loaded after the first PakFiles

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN()

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Num open pak file handles" ,
STAT_PakFile_NumOpenHandles  ,
STATGROUP_PakFile  ,
PAKFILE_API   
)

◆ DECLARE_FLOAT_ACCUMULATOR_STAT_EXTERN()

DECLARE_FLOAT_ACCUMULATOR_STAT_EXTERN ( TEXT("Total pak file read time" ,
STAT_PakFile_Read  ,
STATGROUP_PakFile  ,
PAKFILE_API   
)

◆ DECLARE_LOG_CATEGORY_EXTERN()

PAKFILE_API DECLARE_LOG_CATEGORY_EXTERN ( LogPakFile  ,
Log  ,
All   
)

◆ DECLARE_MULTICAST_DELEGATE_OneParam() [1/2]

DECLARE_MULTICAST_DELEGATE_OneParam ( FPakChunkSignatureCheckFailedHandler  ,
const FPakChunkSignatureCheckFailedData  
)

◆ DECLARE_MULTICAST_DELEGATE_OneParam() [2/2]

DECLARE_MULTICAST_DELEGATE_OneParam ( FPakPrincipalSignatureTableCheckFailureHandler  ,
const FString &   
)

◆ operator<<() [1/2]

FArchive & operator<< ( FArchive Ar,
FPakCompressedBlock Block 
)
inline

◆ operator<<() [2/2]

FArchive & operator<< ( FArchive Ar,
FPakEntryLocation PakEntryLocation 
)
inline