Language:
Discover
By Skill Level
By Category

FLinkerLoad

Choose your OS:

Inheritance Hierarchy

FLinker

FArchiveUObject

FLinkerLoad

Syntax

class FLinkerLoad :
    public FLinker ,
    public FArchiveUObject

Variables

Name Description

Public variable

FAsyncPackage &...

 

AsyncRoot

The async package associated with this linker

Public variable

bool

 

bDynamicClassLinker

Indicates that this linker was created for a dynamic class package and will not use Loader

Public variable

bool

 

bForceSimpleIndexToObject

Public variable

bool

 

bHaveImportsBeenVerified

Indicates whether the imports for this loader have been verified

Public variable

bool

 

bLoaderIsFArchiveAsync2

True if Loader is FArchiveAsync2

Public variable

bool

 

bLockoutLegacyOperations

Public variable

TArray < FUntype ...

 

BulkDataLoaders

Bulk data that does not need to be loaded when the linker is loaded.

Public variable

int32 [256]

 

ExportHash

WITH_EDITOR.

Public variable

TArray < FExtern ...

 

ExternalReadDependencies

List of external read dependencies that must be finished to load this package

Public variable

uint32

 

LoadFlags

Flags determining loading behavior.

Public variable

TArray < FPackag ...

 

PreloadDependencies

List of imports and exports that must be serialized before other exports...all packed together, see FirstExportDependency

Public variable

UObject *

 

TemplateForGetArchetypeFromLoader

Constructors

Name Description

Protected function

FLinkerLoad

(
    UPackage * InParent,
    const TCHAR * InFilename,
    uint32 InLoadFlags
)

Private constructor, passing arguments through from CreateLinker.

Destructors

Name Description

Public function Virtual

~FLinkerLoad()

Functions

Name Description

Public function Static

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

AddGameNameRedirect

(
    const FName OldName,
    const FName NewName
)

Add a new redirect from old game name to new game name for ImportMap

Public function Static

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

AddKnownMissingPackage

(
    FName PackageName
)

Register that a package is now known missing and that it should silence future warnings/issues

Public function

void

 

BuildPathName

(
    FString & OutPathName,
    FPackageIndex ExportIndex
)

Builds a string containing the full path for a resource in the export table.

Public function

UObject *...

 

Create

(
    UClass * ObjectClass,
    FName ObjectName,
    UObject * Outer,
    uint32 InLoadFlags,
    bool Checked
)

Function to create the instance of, or verify the presence of, an object as found in this Linker.

Public function Static

void

 

CreateActiveRedirectsMap

(
    const FString & GEngineIniName
)

Add redirects to FLinkerLoad static map

Public function

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

CreateImportClassAndPackage

(
    FName ClassName,
    FName PackageName,
    FPackageIndex & ClassIdx,
    FPackageIndex & PackageIdx
)

Attempts to find the index for the given class object in the import list and adds it + its package if it does not exist

Public function Static

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

CreateLinker

(
    UPackage * Parent,
    const TCHAR * Filename,
    uint32 LoadFlags,
    FArchive * InLoader
)

Creates and returns a FLinkerLoad object.

Protected function

ELinkerStatu ...

 

CreateLoader

(
    TFunction < void()>&& InSummaryRead...
)

Daniel L: Made this protected so I can override the constructor and create a custom loader to load the header of the linker in the DiffFilesCommandlet.

Public function

void

 

DestroyLoader()

Public function

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

Detach()

Detaches linker from bulk data/ exports and removes itself from array of loaders.

Public function

UObject *...

 

FindExistingExport

(
    int32 ExportIndex
)

Before loading a persistent object from disk, this function can be used to discover the object in memory.

Public function Static

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

FindExistingLinkerForPackage

(
    const UPackage * Package
)

Looks for an existing linker for the given package, without trying to make one if it doesn't exist

Public function

int32

 

FindExportIndex

(
    FName ClassName,
    FName ClassPackage,
    FName ObjectName,
    FPackageIndex ExportOuterIndex
)

Find the index of a specified object without regard to specific package.

Public function

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

FindImportClassAndPackage

(
    FName ClassName,
    FPackageIndex & ClassIdx,
    FPackageIndex & PackageIdx
)

Locates the class adjusted index and its package adjusted index for a given class name in the import map

Public function

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

FindImportPackage

(
    FName PackageName,
    FPackageIndex & PackageIdx
)

Locates package index for a UPackage import

Public function Static

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

FindNewNameForClass

(
    FName OldClassName,
    bool bIsInstance
)

Utility functions to query the object name redirects list for the current name for a class

Public function Static

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

FindNewNameForEnum

(
    FName OldEnumName
)

Utility functions to query the enum name redirects list for the current name for an enum

Public function Static

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

FindNewNameForStruct

(
    FName OldStructName
)

Utility functions to query the struct name redirects list for the current name for a struct

Public function Static

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

FindPreviousNamesForClass

(
    FString CurrentClassPath,
    bool bIsInstance
)

Utility functions to query the object name redirects list for previous names for a class

Public function Static

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

FindSubobjectRedirectName

(
    const FName & Name,
    UClass * Class
)

Used by Matinee to fixup component renaming

Public function

bool

 

FinishExternalReadDependencies

(
    double TimeLimit
)

Finalizes external dependencies till time limit is exceeded

Public function

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

FixupExportMap()

WITH_EDITOR.

Public function

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

GatherExportDependencies

(
    int32 ExportIndex,
    TSet < FDependencyRef >& Dependenci...,
    bool bSkipLoadedObjects
)

Recursively gathers the dependencies of a given export (the recursive chain of imports and their imports, and so on)

Public function

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

GatherImportDependencies

(
    int32 ImportIndex,
    TSet < FDependencyRef >& Dependenci...,
    bool bSkipLoadedObjects
)

Recursively gathers the dependencies of a given import (the recursive chain of imports and their imports, and so on)

Public function

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

GetExportClassPackage

(
    int32 i
)

Public function

FArchiveAsyn...

 

GetFArchiveAsync2Loader()

Protected function

FArchive ...

 

GetLoader()

Public function

FArchive ...

 

GetLoader_Unsafe()

Access the underlying archive.

Public function

int32

 

GetOwnerThreadId()

Returns ID of the thread that created this linker

Public function

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

HasAnyObjectsPendingLoad()

Checks if the linker has any objects in the export table that require loading.

Public function

bool

 

HasFinishedInitialization()

Returns whether linker has finished (potentially) async initialization.

Public function

bool

 

HasLoader()

Public function Static

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

InvalidateExport

(
    UObject * OldObject
)

Invalidates the future loading of a specific object, so that subsequent loads will fail This is used to invalidate sub objects of a replaced object that may no longer be valid

Public function

bool

 

IsBlueprintFinalizationPending()

Query method to help handle recursive behavior.

Public function Static

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

IsKnownMissingPackage

(
    FName PackageName
)

Utility functions to check the list of known missing packages and silence any warnings that may have occurred on load.

Public function

bool

 

IsValidPackageIndex

(
    FPackageIndex InIndex
)

Test whether the given package index is a valid import or export in this package

Public function

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

LoadAllObjects

(
    bool bForcePreload
)

Loads all objects in package.

Public function

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

LoadAndDetachAllBulkData()

Detaches linker from bulk data.

Public function Static

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

PRIVATE_ForceLoadAllDependencies

(
    UPackage * Package
)

Wraps a call to the package linker's ResolveAllImports().

Public function Static

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

PRIVATE_PatchNewObjectIntoExport

(
    UObject * OldObject,
    UObject * NewObject
)

Replaces OldObject's entry in its linker with NewObject, so that all subsequent loads of OldObject will return NewObject.

Public function Static

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

RemoveKnownMissingPackage

(
    FName PackageName
)

Register that a package is no longer known missing and that it should be searched for again in the future

Public function

UObject *...

 

RequestPlaceholderValue

(
    UClass * ObjectType,
    const TCHAR * ObjectPath
)

Gives external code the ability to create FLinkerPlaceholderBase objects in place of loads that may violate the LOAD_DeferDependencyLoads state.

Public function

FName

 

ResolveResourceName

(
    FPackageIndex ResourceIndex
)

Returns the ObjectName associated with the resource indicated.

Public function

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

SerializeGatherableTextDataMap

(
    bool bForceEnableForCommandlet
)

Serializes the gatherable text data container.

Public function

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

SerializeThumbnails

(
    bool bForceEnableForCommandlet
)

Serializes thumbnails

Protected function

void

 

SetLoader

(
    FArchive * InLoader
)

Public function Static

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

StaticInit

(
    UClass * InUTexture2DStaticClas...
)

Initialize the static variables

FLinkerLoad .

Public function Static

ELinkerType: ...

 

StaticType()

Variables.

Protected function

ELinkerStatu ...

 

Tick

(
    float InTimeLimit,
    bool bInUseTimeLimit,
    bool bInUseFullTimeLimit
)

Daniel L: Made this protected so I can override the constructor and create a custom loader to load the header of the linker in the DiffFilesCommandlet.

Public function

void

 

Verify()

Public function

EVerifyResul ...

 

VerifyImport

(
    int32 ImportIndex
)

A wrapper around VerifyImportInner.

Public function

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

WillTextureBeLoaded

(
    UClass * Class,
    int32 ExportIndex
)

Checks if the specified export should be loaded or not.

Overridden from FArchive

Name Description

Public function Virtual

bool

 

AttachExternalReadDependency

(
    FExternalReadCallback & ReadCallbac...
)

Adds external read dependency

true if dependency has been added

Public function Virtual

void

 

FlushCache()

Flush Loader Cache

Public function Virtual

void

 

ForceBlueprintFinalization()

Inform the archive that blueprint finalization is pending.

Public function Virtual

UObject *...

 

GetArchetypeFromLoader

(
    const UObject * Obj
)

Called to retrieve the archetype from the event driven loader.

Public function Virtual

FString

 

GetArchiveName()

Returns the name of the Archive.

Public function Virtual

FLinker *...

 

GetLinker()

If this archive is a FLinkerLoad or FLinkerSave , returns a pointer to the FLinker portion.

Public function Virtual

void

 

MarkScriptSerializationEnd

(
    const UObject * Obj
)

Called when an object stops serializing property data using script serialization.

Public function Virtual

void

 

MarkScriptSerializationStart

(
    const UObject * Obj
)

Called when an object begins serializing property data using script serialization.

Public function Virtual

[COREUOBJECT_](API\Runtime\CoreUObject\UObject\COREUOBJECT_API_3)...

 

Preload

(
    UObject * Object
)

Serialize the object data for the specified object from the unreal package file.

Enums

Name

Description

Protected enum

ELinkerStatus

Linker loading status.

Protected enum

EVerifyResult

Verify result.

Constants

Name

Description

bActiveRedirectsMapInitialized

Makes sure the deprecated active redirects inis have been read

NAME_LoadErrors

UTexture2DStaticClass

Allows access to UTexture2D::StaticClass() without linking Core with Engine

References

Module

CoreUObject

Header

Runtime/CoreUObject/Public/UObject/LinkerLoad.h