UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PackageReloadInternal Namespace Reference

Classes

struct  FExistingPackageReference
 
struct  FExistingPackageReferences
 
struct  FNewPackageReference
 
struct  FNewPackageReferences
 
struct  FObjectAndPackageIndex
 
class  FReplaceObjectReferencesArchive
 

Functions

void MarkPackageReplaced (UPackage *InPackage)
 
void ClearPackageReplaced (UPackage *InPackage)
 
void MakeObjectPurgeable (UObject *InObject)
 
void MakePackagePurgeable (UPackage *InPackage)
 
void DumpExternalReferences (UObject *InObject, UPackage *InPackage)
 
UPackageValidateAndPreparePackageForReload (UPackage *InExistingPackage)
 
UPackageLoadReplacementPackage (UPackage *InExistingPackage, const uint32 InLoadFlags)
 
TSharedPtr< FPackageReloadedEventGeneratePackageReloadEvent (UPackage *InExistingPackage, UPackage *InNewPackage)
 
void SortPackagesForReload (const FName PackageName, TSet< FName > &ProcessedPackages, TArray< UPackage * > &SortedPackagesToReload, const TMap< FName, UPackage * > &AllPackagesToReload, IAssetRegistryInterface &InAssetRegistry)
 

Function Documentation

◆ ClearPackageReplaced()

void PackageReloadInternal::ClearPackageReplaced ( UPackage InPackage)

Given a package, remove the RF_NewerVersionExists flag from it and all its sub-objects.

◆ DumpExternalReferences()

void PackageReloadInternal::DumpExternalReferences ( UObject InObject,
UPackage InPackage 
)

Given an object, dump anything that is still externally referencing it to the log.

◆ GeneratePackageReloadEvent()

TSharedPtr< FPackageReloadedEvent > PackageReloadInternal::GeneratePackageReloadEvent ( UPackage InExistingPackage,
UPackage InNewPackage 
)

Given an old and new package, generate the event payload data needed to fix-up references to objects from the old package to the corresponding objects in the new package.

Returns
The event payload data, or null if either given package is invalid.

◆ LoadReplacementPackage()

UPackage * PackageReloadInternal::LoadReplacementPackage ( UPackage InExistingPackage,
const uint32  InLoadFlags 
)

Given a package, reload it from disk.

Returns
The package that was reloaded, or null if the given package couldn't be reloaded.

◆ MakeObjectPurgeable()

void PackageReloadInternal::MakeObjectPurgeable ( UObject InObject)

Given an object, put it into a state where a GC may purge it (assuming there are no external references).

◆ MakePackagePurgeable()

void PackageReloadInternal::MakePackagePurgeable ( UPackage InPackage)

Given a package, put it into a state where a GC may purge it (assuming there are no external references).

◆ MarkPackageReplaced()

void PackageReloadInternal::MarkPackageReplaced ( UPackage InPackage)

Given a package, mark it and all its sub-objects with the RF_NewerVersionExists flag so that other systems can detect that they're being replaced.

◆ SortPackagesForReload()

void PackageReloadInternal::SortPackagesForReload ( const FName  PackageName,
TSet< FName > &  ProcessedPackages,
TArray< UPackage * > &  SortedPackagesToReload,
const TMap< FName, UPackage * > &  AllPackagesToReload,
IAssetRegistryInterface InAssetRegistry 
)

◆ ValidateAndPreparePackageForReload()

UPackage * PackageReloadInternal::ValidateAndPreparePackageForReload ( UPackage InExistingPackage)

Given a package, validate and prepare it for reload.

Returns
The package to be reloaded, or null if the given package isn't valid to be reloaded.