UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SavePackageUtilities.h File Reference
#include "Containers/Array.h"
#include "Containers/Map.h"
#include "Containers/Set.h"
#include "Containers/StringFwd.h"
#include "Memory/MemoryView.h"
#include "Misc/FileHelper.h"
#include "ProfilingDebugging/CookStats.h"
#include "Serialization/ArchiveObjectCrc32.h"
#include "Serialization/ArchiveStackTrace.h"
#include "Serialization/FileRegions.h"
#include "UObject/NameTypes.h"
#include "UObject/Package.h"
#include "UObject/UObjectMarks.h"
#include "UObject/ObjectPtr.h"
#include "UObject/SavePackage.h"
#include "UObject/UObjectGlobals.h"

Go to the source code of this file.

Classes

struct  FLargeMemoryDelete
 
struct  FScopedSavingFlag
 
struct  FCanSkipEditorReferencedPackagesWhenCooking
 
struct  FSavePackageOutputFile
 
struct  FObjectImportSortHelper
 
struct  FObjectExportSortHelper
 

Namespaces

namespace  UE
 
namespace  UE::SavePackageUtilities
 

Macros

#define SCOPED_SAVETIMER(TimerName)
 
#define SCOPED_SAVETIMER_TEXT(TimerName)
 

Typedefs

typedef TUniquePtr< uint8, FLargeMemoryDeleteFLargeMemoryPtr
 
using FSavePackageOutputFileArray = TArray< FSavePackageOutputFile, TInlineAllocator< 4 > >
 

Enumerations

enum class  EAsyncWriteOptions { None = 0 }
 
enum class  UE::SavePackageUtilities::EEditorOnlyObjectFlags { UE::SavePackageUtilities::None = 0 , UE::SavePackageUtilities::CheckRecursive = 1 << 1 , UE::SavePackageUtilities::ApplyHasNonEditorOnlyReferences = 1 << 2 }
 

Functions

EObjectMark UE::SavePackageUtilities::GetExcludedObjectMarksForTargetPlatform (const ITargetPlatform *TargetPlatform)
 
void UE::SavePackageUtilities::FindMostLikelyCulprit (const TArray< UObject * > &BadObjects, FSaveContext &SaveContext, ESaveRealm HarvestedRealm, UObject *&OutMostLikelyCulprit, UObject *&OutReferencer, const FProperty *&OutReferencerProperty, bool &OutIsCulpritArchetype, FString &OutDiagnosticText)
 
ESavePackageResult UE::SavePackageUtilities::FinalizeTempOutputFiles (const FPackagePath &PackagePath, const FSavePackageOutputFileArray &OutputFiles, const FDateTime &FinalTimeStamp)
 
void UE::SavePackageUtilities::WriteToFile (const FString &Filename, const uint8 *InDataPtr, int64 InDataSize)
 
void UE::SavePackageUtilities::AsyncWriteFile (FLargeMemoryPtr Data, const int64 DataSize, const TCHAR *Filename, EAsyncWriteOptions Options, TArrayView< const FFileRegion > InFileRegions)
 
void UE::SavePackageUtilities::AsyncWriteFile (EAsyncWriteOptions Options, FSavePackageOutputFile &File)
 
template<typename HashBuilderType >
bool UE::SavePackageUtilities::TryHashFile (FStringView Filename, HashBuilderType &Builder, int64 Offset=0, int64 Size=-1)
 
void UE::SavePackageUtilities::GetCDOSubobjects (UObject *CDO, TArray< UObject * > &Subobjects)
 
 UE::SavePackageUtilities::ENUM_CLASS_FLAGS (EEditorOnlyObjectFlags)
 
void UE::SavePackageUtilities::HarvestCookRuntimeDependencies (FObjectSaveContextData &Data, UObject *HarvestReferencesFrom)
 

Macro Definition Documentation

◆ SCOPED_SAVETIMER

#define SCOPED_SAVETIMER (   TimerName)

◆ SCOPED_SAVETIMER_TEXT

#define SCOPED_SAVETIMER_TEXT (   TimerName)

Typedef Documentation

◆ FLargeMemoryPtr

◆ FSavePackageOutputFileArray

Enumeration Type Documentation

◆ EAsyncWriteOptions

enum class EAsyncWriteOptions
strong
Enumerator
None