Navigation
API > API/Runtime > API/Runtime/CoreUObject > API/Runtime/CoreUObject/UObject
Inheritance Hierarchy
- FLinker
- FArchiveUObject
- FLinkerLoad
References
| Module | CoreUObject |
| Header | /Engine/Source/Runtime/CoreUObject/Public/UObject/LinkerLoad.h |
| Include | #include "UObject/LinkerLoad.h" |
Syntax
class FLinkerLoad :
public FLinker,
public FArchiveUObject
Variables
| Type | Name | Description | |
|---|---|---|---|
| void * | AsyncRoot | The async package associated with this linker | |
| bool | bForceSimpleIndexToObject | ||
| bool | bHaveImportsBeenVerified | Indicates whether the imports for this loader have been verified | |
| bool | bIsAsyncLoader | True if Loader is FAsyncArchive | |
| bool | bLockoutLegacyOperations | ||
| TSet< FBulkData * > | BulkDataLoaders | Bulk data that use the FLinkerLoad to track the state of the file on disk | |
| UE::FMutex | BulkDataMutex | Used when accessing BulkDataLoaders/EditorBulkDataLoaders to ensure thread safety | |
| TSet< UE::Serialization::FEditorBulkData * > | EditorBulkDataLoaders | ||
| TUniquePtr< int32[]> | ExportHash | ||
| TArray< FExternalReadCallback > | ExternalReadDependencies | List of external read dependencies that must be finished to load this package | |
| uint32 | LoadFlags | Flags determining loading behavior. | |
| TArray< FPackageIndex > | PreloadDependencies | List of imports and exports that must be serialized before other exports...all packed together, see FirstExportDependency | |
| UObject * | TemplateForGetArchetypeFromLoader |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FLinkerLoad
(
UPackage* InParent, |
Private constructor, passing arguments through from CreateLinker. |
Destructors
| Type | Name | Description | |
|---|---|---|---|
~FLinkerLoad () |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AddGameNameRedirect
(
const FName OldName, |
Add a new redirect from old game name to new game name for ImportMap | |
| void | AddKnownMissingPackage
(
FName PackageName |
Register that a package is now known missing and that it should silence future warnings/issues | |
| void | BuildPathName
(
FString& OutPathName, |
Builds a string containing the full path for a resource in the export table. | |
| void | CreateActiveRedirectsMap
(
const FString& GEngineIniName |
Add redirects to FLinkerLoad static map | |
| bool | CreateImportClassAndPackage
(
FName ClassName, |
Attempts to find the index for the given class object in the import list and adds it + its package if it does not exist | |
| FLinkerLoad * | CreateLinker
(
FUObjectSerializeContext* LoadContext, |
Creates and returns a FLinkerLoad object. | |
| ELinkerStatus | CreateLoader
(
TFunction< void()>&& InSummaryReadyCallback |
Creates loader used to serialize content. | |
| void | |||
| void | Detach () |
Detaches linker from bulk data and exports and removes itself from array of loaders. | |
| void | Only detaches the linker from its exports and the reset their cached state in the linker without touching bulkdata or underlying loader | ||
| void | DetachLoader () |
Detaches all bulkdata currently attached to the FLinkerLoad followed by destroying the internal loader. | |
| UObject * | FindExistingExport
(
int32 ExportIndex |
Before loading a persistent object from disk, this function can be used to discover the object in memory. | |
| UObject * | FindExistingImport
(
int32 ImportIndex |
||
| FLinkerLoad * | FindExistingLinkerForPackage
(
const UPackage* Package |
Looks for an existing linker for the given package, without trying to make one if it doesn't exist | |
| int32 | FindExportIndex
(
FName ClassName, |
||
| bool | FindImportClassAndPackage
(
FName ClassName, |
Locates the class adjusted index and its package adjusted index for a given class name in the import map | |
| bool | FindImportPackage
(
FName PackageName, |
Locates package index for a UPackage import | |
| FName | FindNewNameForClass
(
FName OldClassName, |
Utility functions to query the object name redirects list for the current name for a class | |
| FName | FindNewNameForEnum
(
FName OldEnumName |
Utility functions to query the enum name redirects list for the current name for an enum | |
| FName | FindNewNameForStruct
(
FName OldStructName |
Utility functions to query the struct name redirects list for the current name for a struct | |
| FString | FindNewPathNameForClass
(
const FString& OldClassNameOrPathName, |
Utility functions to query the object name redirects list for the current name for a class | |
| TArray< FName > | FindPreviousNamesForClass
(
const FString& CurrentClassPath, |
Utility functions to query the object name redirects list for previous names for a class | |
| TArray< FString > | FindPreviousPathNamesForClass
(
const FString& CurrentClassPath, |
Utility functions to query the object name redirects list for previous names for a class | |
| bool | FinishExternalReadDependencies
(
double TimeLimit |
Finalizes external dependencies till time limit is exceeded | |
| ELinkerStatus | Allows object instances to be converted to other classes upon loading a package | ||
| void | GatherExportDependencies
(
int32 ExportIndex, |
Recursively gathers the dependencies of a given export (the recursive chain of imports and their imports, and so on) | |
| void | GatherImportDependencies
(
int32 ImportIndex, |
Recursively gathers the dependencies of a given import (the recursive chain of imports and their imports, and so on) | |
| FAsyncArchive * | |||
| FName | GetExportClassPackage
(
int32 i |
||
| int32 | GetHashBucket
(
FName Object |
||
| const FLinkerInstancingContext & | |||
| FArchive * | GetLoader () |
||
| FArchive * | Access the underlying archive. | ||
| int32 | Returns ID of the thread that created this linker | ||
| const FPackagePath & | Get the PackagePath being loaded. | ||
| const UE::FPackageTrailer * | |||
| bool | |||
| bool | Checks if the linker has any objects in the export table that require loading. | ||
| bool | Returns whether linker has finished (potentially) async initialization. | ||
| bool | HasLoader () |
||
| void | 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 | |
| bool | Query method to help handle recursive behavior. | ||
| bool | |||
| bool | Determines if imports can be lazily loaded. | ||
| bool | IsKnownMissingPackage
(
FName PackageName |
Utility functions to check the list of known missing packages and silence any warnings that may have occurred on load. | |
| bool | |||
| bool | IsValidPackageIndex
(
FPackageIndex InIndex |
Test whether the given package index is a valid import or export in this package | |
| void | LoadAllObjects
(
bool bForcePreload |
Loads all objects in package. | |
| void | Detaches linker from bulk data. | ||
| void | OnNewFileAdded
(
const FString& Filename |
||
| void | OnPakFileMounted
(
const IPakFile& PakFile |
||
| void | PRIVATE_ForceLoadAllDependencies
(
UPackage* Package |
Wraps a call to the package linker's ResolveAllImports(). | |
| void | PRIVATE_PatchNewObjectIntoExport
(
UObject* OldObject, |
Replaces OldObject's entry in its linker with NewObject, so that all subsequent loads of OldObject will return NewObject. | |
| bool | RemoveKnownMissingPackage
(
FName PackageName |
Register that a package is no longer known missing and that it should be searched for again in the future | |
| UObject * | RequestPlaceholderValue
(
const FProperty* Property, |
Gives external code the ability to create FLinkerPlaceholderBase objects in place of loads that may violate the LOAD_DeferDependencyLoads state. | |
| UObject * | ResolveResource
(
FPackageIndex ResourceIndex |
Returns the Object associated with the resource indicated. | |
| FName | ResolveResourceName
(
FPackageIndex ResourceIndex |
Returns the ObjectName associated with the resource indicated. | |
| bool | SerializeBulkData
(
FBulkData& BulkData, |
||
| ELinkerStatus | SerializeGatherableTextDataMap
(
bool bForceEnableForCommandlet |
Serializes the gatherable text data container. | |
| ELinkerStatus | SerializeThumbnails
(
bool bForceEnableForCommandlet |
Serializes thumbnails | |
| void | |||
| void | SetPreloadingEnabled
(
bool bEnabled |
||
| bool | Should bulkdata identifiers should be regenerated as they are loaded or not | ||
| ELinkerType::Type | StaticType () |
Variables. | |
| ELinkerStatus | Tick
(
float InTimeLimit, |
Ticks an in-flight linker and spends InTimeLimit seconds on creation. | |
| bool | TryGetPreloadedLoader
(
const FPackagePath& InPackagePath, |
||
| void | Verify () |
||
| EVerifyResult | VerifyImport
(
int32 ImportIndex |
A wrapper around VerifyImportInner. | |
| bool | WillTextureBeLoaded
(
UClass* Class, |
Checks if the specified export should be loaded or not. Performs similar checks as CreateExport(). |
Overridden from FLinker
| Type | Name | Description | |
|---|---|---|---|
| FString | GetDebugName () |
Returns a descriptor of the PackagePath this Linker is reading from or writing to, usable for an identifier in warning and log messages |
Overridden from FArchive
| Type | Name | Description | |
|---|---|---|---|
| bool | AttachExternalReadDependency
(
FExternalReadCallback& ReadCallback |
Adds external read dependency | |
| void | FlushCache () |
Flush Loader Cache | |
| void | Inform the archive that blueprint finalization is pending. | ||
| void | MarkScriptSerializationEnd
(
const UObject* Obj |
Called when an object stops serializing property data using script serialization. | |
| void | MarkScriptSerializationStart
(
const UObject* Obj |
Called when an object begins serializing property data using script serialization. | |
| void | Serialize the object data for the specified object from the unreal package file. |
Overridden from FArchiveState
| Type | Name | Description | |
|---|---|---|---|
| UObject * | GetArchetypeFromLoader
(
const UObject* Obj |
Called to retrieve the archetype from the event driven loader. | |
| FString | Returns the name of the Archive. | ||
| FLinker * | GetLinker () |
If this archive is a FLinkerLoad or FLinkerSave, returns a pointer to the FLinker portion. | |
| FUObjectSerializeContext * | Gets the current UObject serialization context for this archive. | ||
| void | SetSerializeContext
(
FUObjectSerializeContext* InLoadContext |
Sets the current UObject serialization context for this archive. |
Enums
| Type | Name | Description | |
|---|---|---|---|
| ELinkerStatus | Linker loading status. | ||
| EVerifyResult | Verify result. |
Constants
| Name | Description |
|---|---|
| bActiveRedirectsMapInitialized | Makes sure the deprecated active redirects inis have been read |
| bPreloadingEnabled | |
| ExportHashCount | Hash table for exports. |
| NAME_LoadErrors |
Deprecated Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bDynamicClassLinker | This member is no longer in use and will be removed. |
Deprecated Functions
| Type | Name | Description | |
|---|---|---|---|
| UObject * | Create was only used for the now-deprecated Conform argument to UPackage::Save. Contact Epic via UDN if you still need this function. | ||
| FLinkerLoad * | CreateLinker
(
FUObjectSerializeContext* LoadContext, |
Use version that takes an FPackagePath instead | |
| bool | TryGetPreloadedLoader
(
FArchive*& OutLoader, |
Use version that takes a PackagePath instead |