UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FLinker Class Reference

#include <Linker.h>

+ Inheritance diagram for FLinker:

Public Member Functions

 FLinker (ELinkerType::Type InType, UPackage *InRoot)
 
virtual ~FLinker ()
 
UE_FORCEINLINE_HINT ELinkerType::Type GetType () const
 
virtual FString GetDebugName () const
 
void Serialize (FArchive &Ar)
 
COREUOBJECT_API FString GetExportPathName (int32 ExportIndex, const TCHAR *FakeRoot=nullptr, bool bResolveForcedExports=false)
 
FString GetExportPathName (FPackageIndex PackageIndex, const TCHAR *FakeRoot=nullptr, bool bResolveForcedExports=false)
 
FString GetPathName (FPackageIndex PackageIndex)
 
COREUOBJECT_API FString GetExportFullName (int32 ExportIndex, const TCHAR *FakeRoot=nullptr, bool bResolveForcedExports=false)
 
FString GetExportFullName (FPackageIndex PackageIndex, const TCHAR *FakeRoot=nullptr, bool bResolveForcedExports=false)
 
FString GetFullImpExpName (FPackageIndex PackageIndex)
 
void StartScriptSHAGeneration ()
 
void UpdateScriptSHAKey (const TArray< uint8 > &ScriptCode)
 
void GetScriptSHAKey (uint8 *OutKey)
 
bool FilterExport (const FObjectExport &Export)
 
- Public Member Functions inherited from FLinkerTables
FObjectResourceImpExp (FPackageIndex Index)
 
FObjectResource const & ImpExp (FPackageIndex Index) const
 
FObjectResourceImpExpPtr (FPackageIndex Index)
 
FObjectImportImp (FPackageIndex Index)
 
FObjectImport const & Imp (FPackageIndex Index) const
 
FObjectImportImpPtr (FPackageIndex Index)
 
FObjectExportExp (FPackageIndex Index)
 
FObjectExport const & Exp (FPackageIndex Index) const
 
FObjectExportExpPtr (FPackageIndex Index)
 
COREUOBJECT_API void SerializeSearchableNamesMap (FArchive &Ar)
 
COREUOBJECT_API void SerializeSearchableNamesMap (FStructuredArchive::FSlot Slot)
 
COREUOBJECT_API FString GetImportPathName (int32 ImportIndex)
 
FString GetImportPathName (FPackageIndex PackageIndex)
 
COREUOBJECT_API FString GetExportPathName (const FString &RootPackagePath, int32 ExportIndex, bool bResolveForcedExports=false)
 
COREUOBJECT_API FString GetImportFullName (int32 ImportIndex)
 
FString GetImportFullName (FPackageIndex PackageIndex)
 
COREUOBJECT_API FString GetExportFullName (const FString &RootPackagePath, int32 ExportIndex, bool bResolveForcedExports=false)
 
FPackageIndex ResourceGetOutermost (FPackageIndex LinkerIndex) const
 
bool ResourceIsIn (FPackageIndex LinkerIndex, FPackageIndex OuterIndex) const
 
bool DoResourcesShareOutermost (FPackageIndex LinkerIndexLHS, FPackageIndex LinkerIndexRHS) const
 
bool ImportIsInAnyExport (int32 ImportIndex) const
 
bool AnyExportIsInImport (int32 ImportIndex) const
 
bool AnyExportShareOuterWithImport (int32 ImportIndex) const
 
COREUOBJECT_API FName GetExportClassName (int32 ExportIdx)
 
FName GetExportClassName (FPackageIndex PackageIndex)
 
FName GetImportClassName (int32 ImportIdx)
 
FName GetImportClassName (FPackageIndex PackageIndex)
 
FName GetClassName (FPackageIndex PackageIndex)
 
COREUOBJECT_API SIZE_T GetAllocatedSize () const
 

Public Attributes

UPackageLinkerRoot
 
FPackageFileSummary Summary
 
TArray< FNameEntryIdNameMap
 
TArray< FSoftObjectPathSoftObjectPathList
 
TArray< FGatherableTextDataGatherableTextDataMap
 
TArray< FObjectDataResourceDataResourceMap
 
TMap< FPackageIndex, UE::Serialization::Private::FImportTypeHierarchyImportTypeHierarchies
 
bool FilterClientButNotServer
 
bool FilterServerButNotClient
 
class FSHA1ScriptSHA = nullptr
 
- Public Attributes inherited from FLinkerTables
TArray< FObjectImportImportMap
 
TArray< FObjectExportExportMap
 
TArray< FCellImportCellImportMap
 
TArray< FCellExportCellExportMap
 
TArray< TArray< FPackageIndex > > DependsMap
 
TArray< FNameSoftPackageReferenceList
 
TMap< FPackageIndex, TArray< FName > > SearchableNamesMap
 

Detailed Description

Manages the data associated with an Unreal package. Acts as the bridge between the file on disk and the UPackage object in memory for all Unreal package types.

Constructor & Destructor Documentation

◆ FLinker()

FLinker::FLinker ( ELinkerType::Type  InType,
UPackage InRoot 
)

Constructor.

◆ ~FLinker()

PRAGMA_DISABLE_DEPRECATION_WARNINGS FLinker::~FLinker ( )
virtual

Member Function Documentation

◆ FilterExport()

bool FLinker::FilterExport ( const FObjectExport Export)
inline

Test and object against the load flag filters

Returns
true if the object should be filtered and not loaded

◆ GetDebugName()

FString FLinker::GetDebugName ( ) const
virtual

Returns a descriptor of the PackagePath this Linker is reading from or writing to, usable for an identifier in warning and log messages

Reimplemented in FLinkerLoad, and FLinkerSave.

◆ GetExportFullName() [1/2]

FString FLinker::GetExportFullName ( FPackageIndex  PackageIndex,
const TCHAR FakeRoot = nullptr,
bool  bResolveForcedExports = false 
)
inline

Return the full name of the UObject represented by the specified package index

Parameters
PackageIndexpackage index for the resource to get the name for
FakeRootOptional name to replace use as the root package of this object instead of the linker
bResolveForcedExportsif true, the package name part of the return value will be the export's original package, not the name of the package it's currently contained within.
Returns
the full name of the UObject represented by the resource at PackageIndex

◆ GetExportFullName() [2/2]

FString FLinker::GetExportFullName ( int32  ExportIndex,
const TCHAR FakeRoot = nullptr,
bool  bResolveForcedExports = false 
)

Return the full name of the UObject represented by the specified export.

Parameters
ExportIndexindex into the ExportMap for the resource to get the name for
FakeRootOptional name to replace use as the root package of this object instead of the linker
bResolveForcedExportsif true, the package name part of the return value will be the export's original package, not the name of the package it's currently contained within.
Returns
the full name of the UObject represented by the resource at ExportIndex

◆ GetExportPathName() [1/2]

FString FLinker::GetExportPathName ( FPackageIndex  PackageIndex,
const TCHAR FakeRoot = nullptr,
bool  bResolveForcedExports = false 
)
inline

Return the path name of the UObject represented by the specified export. (can be used with StaticFindObject)

Parameters
PackageIndexpackage index for the resource to get the name for
FakeRootOptional name to replace use as the root package of this object instead of the linker
bResolveForcedExportsif true, the package name part of the return value will be the export's original package, not the name of the package it's currently contained within.
Returns
the path name of the UObject represented by the resource at PackageIndex, or the empty string if this isn't an export

◆ GetExportPathName() [2/2]

FString FLinker::GetExportPathName ( int32  ExportIndex,
const TCHAR FakeRoot = nullptr,
bool  bResolveForcedExports = false 
)

Return the path name of the UObject represented by the specified export. (can be used with StaticFindObject)

Parameters
ExportIndexindex into the ExportMap for the resource to get the name for
FakeRootOptional name to replace use as the root package of this object instead of the linker
bResolveForcedExportsif true, the package name part of the return value will be the export's original package, not the name of the package it's currently contained within.
Returns
the path name of the UObject represented by the resource at ExportIndex

◆ GetFullImpExpName()

FString FLinker::GetFullImpExpName ( FPackageIndex  PackageIndex)
inline

Return the full name of the UObject represented by the specified export.

Parameters
PackageIndexpackage index
Returns
the path name of the UObject represented by the resource at PackageIndex, or the empty string if this is null

◆ GetPathName()

FString FLinker::GetPathName ( FPackageIndex  PackageIndex)
inline

Return the path name of the UObject represented by the specified import. (can be used with StaticFindObject)

Parameters
PackageIndexpackage index
Returns
the path name of the UObject represented by the resource at PackageIndex, or the empty string if this is null

◆ GetScriptSHAKey()

void FLinker::GetScriptSHAKey ( uint8 OutKey)

◆ GetType()

UE_FORCEINLINE_HINT ELinkerType::Type FLinker::GetType ( ) const
inline

◆ Serialize()

void FLinker::Serialize ( FArchive Ar)

I/O function

Parameters
Arthe archive to read/write into

◆ StartScriptSHAGeneration()

void FLinker::StartScriptSHAGeneration ( )

◆ UpdateScriptSHAKey()

void FLinker::UpdateScriptSHAKey ( const TArray< uint8 > &  ScriptCode)

Member Data Documentation

◆ DataResourceMap

TArray<FObjectDataResource> FLinker::DataResourceMap

Raw/bulk data references

◆ FilterClientButNotServer

bool FLinker::FilterClientButNotServer

If true, filter out exports that are for clients but not servers

◆ FilterServerButNotClient

bool FLinker::FilterServerButNotClient

If true, filter out exports that are for servers but not clients

◆ GatherableTextDataMap

TArray<FGatherableTextData> FLinker::GatherableTextDataMap

Gatherable text data contained within this package

◆ ImportTypeHierarchies

Map of hierarchical type information for FObjectImport Struct entries in the package

◆ LinkerRoot

UPackage* FLinker::LinkerRoot

The top-level UPackage object for the package associated with this linker

◆ NameMap

TArray<FNameEntryId> FLinker::NameMap

Names used by objects contained within this package

◆ ScriptSHA

class FSHA1* FLinker::ScriptSHA = nullptr

◆ SoftObjectPathList

TArray<FSoftObjectPath> FLinker::SoftObjectPathList

List of SoftObjectPath contained in this package,

◆ Summary

FPackageFileSummary FLinker::Summary

Table of contents for this package's file


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