UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FBulkDataReader Class Referencefinal

#include <BulkDataReader.h>

+ Inheritance diagram for FBulkDataReader:

Public Member Functions

 FBulkDataReader (FByteBulkData &InBulkData, bool bIsPersistent=false)
 
 ~FBulkDataReader () override
 
virtual FArchiveoperator<< (class FName &Name) override
 
virtual FString GetArchiveName () const
 
virtual FArchiveoperator<< (FName &Value)
 
virtual CORE_API FArchiveoperator<< (FText &Value)
 
virtual FArchiveoperator<< (UObject *&Value)
 
virtual FArchiveoperator<< (FField *&Value)
 
template<class T >
FArchiveoperator<< (TCheckedObjPtr< T > &Value)
 
virtual CORE_API FArchiveoperator<< (struct FLazyObjectPtr &Value)
 
virtual CORE_API FArchiveoperator<< (struct FObjectPtr &Value)
 
virtual CORE_API FArchiveoperator<< (struct FSoftObjectPtr &Value)
 
virtual CORE_API FArchiveoperator<< (struct FSoftObjectPath &Value)
 
virtual CORE_API FArchiveoperator<< (struct FWeakObjectPtr &Value)
 
- Public Member Functions inherited from FBufferReaderBase
 FBufferReaderBase (void *Data, int64 Size, bool bInFreeOnClose, bool bIsPersistent=false)
 
virtual ~FBufferReaderBase ()=0
 
virtual bool Close () override
 
void Serialize (void *Data, int64 Num) final
 
int64 Tell () final
 
int64 TotalSize () final
 
void Seek (int64 InPos) final
 
bool AtEnd () final
 
- Public Member Functions inherited from FArchive
 FArchive ()=default
 
 FArchive (const FArchive &)=default
 
FArchiveoperator= (const FArchive &ArchiveToCopy)=default
 
virtual CORE_API ~FArchive ()
 
template<class T >
FArchiveoperator<< (TCheckedObjPtr< T > &Value)
 
virtual void ForceBlueprintFinalization ()
 
virtual void SerializeBits (void *V, int64 LengthBits)
 
virtual void SerializeInt (uint32 &Value, uint32 Max)
 
virtual CORE_API void SerializeIntPacked (uint32 &Value)
 
virtual CORE_API void SerializeIntPacked64 (uint64 &Value)
 
virtual void Preload (UObject *Object)
 
FArchiveStateGetArchiveState ()
 
const FArchiveStateGetArchiveState () const
 
virtual void AttachBulkData (UObject *Owner, FBulkData *BulkData)
 
virtual void AttachBulkData (UE::Serialization::FEditorBulkData *BulkData)
 
virtual void DetachBulkData (FBulkData *BulkData, bool bEnsureBulkDataIsLoaded)
 
virtual void DetachBulkData (UE::Serialization::FEditorBulkData *BulkData, bool bEnsureBulkDataIsLoaded)
 
virtual bool SerializeBulkData (FBulkData &BulkData, const FBulkDataSerializationParams &Params)
 
virtual bool IsProxyOf (FArchive *InOther) const
 
virtual bool Precache (int64 PrecacheOffset, int64 PrecacheSize)
 
virtual void FlushCache ()
 
virtual bool SetCompressionMap (TArray< FCompressedChunk > *CompressedChunks, ECompressionFlags CompressionFlags)
 
virtual void Flush ()
 
CORE_API void SerializeCompressed (void *V, int64 Length, FName CompressionFormatCannotChange, ECompressionFlags Flags=COMPRESS_NoFlags, bool bTreatBufferAsFileReader=false)
 
CORE_API void SerializeCompressedNew (void *V, int64 Length, FName CompressionFormatToEncode, FName CompressionFormatToDecodeOldV1Files, ECompressionFlags Flags=COMPRESS_NoFlags, bool bTreatBufferAsFileReader=false, int64 *OutPartialReadLength=nullptr)
 
CORE_API void SerializeCompressedNew (void *V, int64 Length)
 
CORE_API void ByteSwap (void *V, int32 Length)
 
FArchiveByteOrderSerialize (void *V, int32 Length)
 
void StartSerializingDefaults ()
 
void StopSerializingDefaults ()
 
virtual void MarkScriptSerializationStart (const UObject *Obj)
 
virtual void MarkScriptSerializationEnd (const UObject *Obj)
 
virtual void MarkSearchableName (const TObjectPtr< const UObject > &TypeObject, const FName &ValueName) const
 
template<typename FmtType , typename... Types>
void Logf (const FmtType &Fmt, Types... Args)
 
virtual CORE_API void UsingCustomVersion (const struct FGuid &Guid)
 
virtual FArchiveGetCacheableArchive ()
 
void SetCookData (FArchiveCookData *InCookData)
 
FArchiveCookDataGetCookData ()
 
virtual CORE_API void PushSerializedProperty (class FProperty *InProperty, const bool bIsEditorOnlyProperty)
 
virtual CORE_API void PopSerializedProperty (class FProperty *InProperty, const bool bIsEditorOnlyProperty)
 
virtual bool AttachExternalReadDependency (FExternalReadCallback &ReadCallback)
 
template<SIZE_T Size>
bool FastPathLoad (void *InDest)
 
virtual void PushFileRegionType (EFileRegionType Type)
 
virtual void PopFileRegionType ()
 
CORE_API void SetArchiveState (const FArchiveState &InState)
 
CORE_API void SetError ()
 
CORE_API void ClearError ()
 
CORE_API void SetCriticalError ()
 
virtual FArchiveStateGetInnermostState ()
 
virtual void CountBytes (SIZE_T InNum, SIZE_T InMax)
 
virtual FLinkerGetLinker ()
 
bool IsByteSwapping ()
 
void ThisContainsCode ()
 
void ThisContainsMap ()
 
CORE_API void ThisRequiresLocalizationGather ()
 
virtual UObjectGetArchetypeFromLoader (const UObject *Obj)
 
UE_FORCEINLINE_HINT FPackageFileVersion UEVer () const
 
UE_FORCEINLINE_HINT int32 LicenseeUEVer () const
 
UE_FORCEINLINE_HINT FEngineVersionBase EngineVer () const
 
virtual CORE_API uint32 EngineNetVer () const
 
virtual CORE_API uint32 GameNetVer () const
 
CORE_API int32 CustomVer (const struct FGuid &Key) const
 
UE_FORCEINLINE_HINT bool IsLoading () const
 
UE_FORCEINLINE_HINT bool IsLoadingFromCookedPackage () const
 
UE_FORCEINLINE_HINT bool IsSaving () const
 
bool IsTransacting () const
 
UE_FORCEINLINE_HINT bool IsTextFormat () const
 
UE_FORCEINLINE_HINT bool WantBinaryPropertySerialization () const
 
UE_FORCEINLINE_HINT bool UseUnversionedPropertySerialization () const
 
UE_FORCEINLINE_HINT bool IsForcingUnicode () const
 
UE_FORCEINLINE_HINT bool IsPersistent () const
 
UE_FORCEINLINE_HINT bool GetError () const
 
UE_FORCEINLINE_HINT bool IsError () const
 
UE_FORCEINLINE_HINT bool IsCriticalError () const
 
UE_FORCEINLINE_HINT bool ContainsCode () const
 
UE_FORCEINLINE_HINT bool ContainsMap () const
 
bool RequiresLocalizationGather () const
 
UE_FORCEINLINE_HINT bool ForceByteSwapping () const
 
UE_FORCEINLINE_HINT bool IsSerializingDefaults () const
 
UE_FORCEINLINE_HINT bool IsIgnoringArchetypeRef () const
 
UE_FORCEINLINE_HINT bool DoDelta () const
 
UE_FORCEINLINE_HINT bool DoIntraPropertyDelta () const
 
UE_FORCEINLINE_HINT bool IsIgnoringOuterRef () const
 
UE_FORCEINLINE_HINT bool IsIgnoringClassGeneratedByRef () const
 
UE_FORCEINLINE_HINT bool IsIgnoringClassRef () const
 
UE_FORCEINLINE_HINT bool IsAllowingLazyLoading () const
 
UE_FORCEINLINE_HINT bool IsObjectReferenceCollector () const
 
UE_FORCEINLINE_HINT bool IsModifyingWeakAndStrongReferences () const
 
UE_FORCEINLINE_HINT bool IsCountingMemory () const
 
UE_FORCEINLINE_HINT uint32 GetPortFlags () const
 
UE_FORCEINLINE_HINT bool HasAnyPortFlags (uint32 Flags) const
 
UE_FORCEINLINE_HINT bool HasAllPortFlags (uint32 Flags) const
 
uint32 GetDebugSerializationFlags () const
 
UE_FORCEINLINE_HINT bool ShouldSkipBulkData () const
 
UE_FORCEINLINE_HINT int64 GetMaxSerializeSize () const
 
virtual CORE_API const FCustomVersionContainerGetCustomVersions () const
 
virtual CORE_API void SetCustomVersions (const FCustomVersionContainer &CustomVersionContainer)
 
virtual CORE_API void ResetCustomVersions ()
 
CORE_API void SetCustomVersion (const struct FGuid &Key, int32 Version, FName FriendlyName)
 
void SetByteSwapping (bool Enabled)
 
void SetPortFlags (uint32 InPortFlags)
 
virtual void SetDebugSerializationFlags (uint32 InCustomFlags)
 
bool IsFilterEditorOnly () const
 
virtual void SetFilterEditorOnly (bool InFilterEditorOnly)
 
bool IsSavingOptionalObject () const
 
virtual void SetSavingOptionalObject (bool InSavingOptionalObject)
 
bool IsSaveGame () const
 
UE_FORCEINLINE_HINT bool IsNetArchive () const
 
UE_FORCEINLINE_HINT bool IsCooking () const
 
UE_FORCEINLINE_HINT const ITargetPlatformCookingTarget () const
 
void SetSavePackageData (FArchiveSavePackageData *InSavePackageData)
 
FArchiveSavePackageDataGetSavePackageData ()
 
UE_FORCEINLINE_HINT FArchiveCookContextGetCookContext ()
 
virtual bool UseToResolveEnumerators () const
 
virtual bool ShouldSkipProperty (const FProperty *InProperty) const
 
virtual void SetSerializedProperty (FProperty *InProperty)
 
UE_FORCEINLINE_HINT class FPropertyGetSerializedProperty () const
 
CORE_API void GetSerializedPropertyChain (TArray< class FProperty * > &OutProperties) const
 
UE_FORCEINLINE_HINT const FArchiveSerializedPropertyChainGetSerializedPropertyChain () const
 
virtual CORE_API void SetSerializedPropertyChain (const FArchiveSerializedPropertyChain *InSerializedPropertyChain, class FProperty *InSerializedPropertyOverride=nullptr)
 
virtual void SetSerializeContext (FUObjectSerializeContext *InLoadContext)
 
virtual CORE_API void Reset ()
 
virtual CORE_API void SetIsLoading (bool bInIsLoading)
 
virtual CORE_API void SetIsLoadingFromCookedPackage (bool bInIsLoadingFromCookedPackage)
 
virtual CORE_API void SetIsSaving (bool bInIsSaving)
 
virtual CORE_API void SetIsTransacting (bool bInIsTransacting)
 
virtual CORE_API void SetIsTextFormat (bool bInIsTextFormat)
 
virtual CORE_API void SetWantBinaryPropertySerialization (bool bInWantBinaryPropertySerialization)
 
virtual CORE_API void SetUseUnversionedPropertySerialization (bool bInUseUnversioned)
 
virtual CORE_API void SetForceUnicode (bool bInForceUnicode)
 
virtual CORE_API void SetIsPersistent (bool bInIsPersistent)
 
virtual CORE_API void SetUEVer (FPackageFileVersion InVer)
 
virtual CORE_API void SetLicenseeUEVer (int32 InVer)
 
virtual CORE_API void SetEngineVer (const FEngineVersionBase &InVer)
 
virtual CORE_API void SetEngineNetVer (const uint32 InEngineNetVer)
 
virtual CORE_API void SetGameNetVer (const uint32 InGameNetVer)
 
UE_FORCEINLINE_HINT bool ShouldSkipCompilingAssets () const
 
CORE_API void SetShouldSkipUpdateCustomVersion (bool bShouldSkip)
 
UE_FORCEINLINE_HINT bool ShouldSkipUpdateCustomVersion () const
 
CORE_API void SetMigratingRemoteObjects (bool bMigrating)
 
UE_FORCEINLINE_HINT constexpr bool IsMigratingRemoteObjects () const
 
virtual const FUObjectMigrationContextGetMigrationContext () const
 

Protected Attributes

FByteBulkDataBulkData
 
- Protected Attributes inherited from FBufferReaderBase
voidReaderData
 
int64 ReaderPos
 
int64 ReaderSize
 
bool bFreeOnClose
 

Friends

FArchiveoperator<< (FArchive &Ar, ANSICHAR &Value)
 
FArchiveoperator<< (FArchive &Ar, WIDECHAR &Value)
 
FArchiveoperator<< (FArchive &Ar, UTF32CHAR &Value)
 
FArchiveoperator<< (FArchive &Ar, uint8 &Value)
 
FArchiveoperator<< (FArchive &Ar, int8 &Value)
 
FArchiveoperator<< (FArchive &Ar, uint16 &Value)
 
FArchiveoperator<< (FArchive &Ar, int16 &Value)
 
FArchiveoperator<< (FArchive &Ar, uint32 &Value)
 
FArchiveoperator<< (FArchive &Ar, bool &D)
 
FArchiveoperator<< (FArchive &Ar, int32 &Value)
 
FArchiveoperator<< (FArchive &Ar, float &Value)
 
FArchiveoperator<< (FArchive &Ar, double &Value)
 
FArchiveoperator<< (FArchive &Ar, uint64 &Value)
 
FArchiveoperator<< (FArchive &Ar, int64 &Value)
 
CORE_API FArchiveoperator<< (FArchive &Ar, FString &Value)
 

Additional Inherited Members

- Public Attributes inherited from FArchive
FFastPathLoadBufferActiveFPLB
 
FFastPathLoadBuffer InlineFPLB
 
uint8 ArContainsCode: 1
 
uint8 ArContainsMap: 1
 
UE_DEPRECATED(5.6, "Public access to ArRequiresLocalizationGather has been deprecated - please use Ar.RequiresLocalizationGather() and Ar.ThisRequiresLocalizationGather() for getting and setting respectively.") uint8 ArRequiresLocalizationGather uint8 ArForceByteSwapping: 1
 
uint8 ArIgnoreArchetypeRef: 1
 
uint8 ArNoDelta: 1
 
uint8 ArNoIntraPropertyDelta: 1
 
uint8 ArIgnoreOuterRef: 1
 
uint8 ArIgnoreClassGeneratedByRef: 1
 
uint8 ArIgnoreClassRef: 1
 
uint8 ArAllowLazyLoading: 1
 
uint8 ArIsObjectReferenceCollector: 1
 
uint8 ArIsModifyingWeakAndStrongReferences: 1
 
uint8 ArIsCountingMemory: 1
 
uint8 ArShouldSkipBulkData: 1
 
uint8 ArIsFilterEditorOnly: 1
 
uint8 ArIsSavingOptionalObject: 1
 
uint8 ArIsSaveGame: 1
 
uint8 ArIsNetArchive: 1
 
uint8 ArUseCustomPropertyList: 1
 
int32 ArSerializingDefaults
 
uint32 ArPortFlags
 
int64 ArMaxSerializeSize
 
uint8 ArMergeOverrides: 1
 
uint8 ArPreserveArrayElements: 1
 
const struct FCustomPropertyListNodeArCustomPropertyList
 
- Protected Member Functions inherited from FArchive
void SetShouldSkipCompilingAssets (bool Enabled)
 
- Static Protected Member Functions inherited from FArchive
static CORE_API void LinkProxy (FArchiveState &Inner, FArchiveState &Proxy)
 
static CORE_API void UnlinkProxy (FArchiveState &Inner, FArchiveState &Proxy)
 

Detailed Description

Custom archive class for reading directly from bulk data.

Constructor & Destructor Documentation

◆ FBulkDataReader()

FBulkDataReader::FBulkDataReader ( FByteBulkData InBulkData,
bool  bIsPersistent = false 
)
inline

◆ ~FBulkDataReader()

FBulkDataReader::~FBulkDataReader ( )
inlineoverride

Member Function Documentation

◆ GetArchiveName()

virtual FString FBulkDataReader::GetArchiveName ( ) const
inlinevirtual

Returns the name of the Archive. Useful for getting the name of the package a struct or object is in when a loading error occurs.

This is overridden for the specific Archive Types

Reimplemented from FBufferReaderBase.

◆ operator<<() [1/11]

virtual FArchive & FBulkDataReader::operator<< ( class FName Value)
inlineoverridevirtual

Serializes an FName value from or into this archive.

This operator can be implemented by sub-classes that wish to serialize FName instances.

Parameters
ValueThe value to serialize.
Returns
This instance.

Reimplemented from FArchive.

◆ operator<<() [2/11]

virtual FArchive & FArchive::operator<< ( FField *&  Value)
inlinevirtual

Serializes a Field value from or into this archive.

This operator can be implemented by sub-classes that wish to serialize UObject instances.

Parameters
ValueThe value to serialize.
Returns
This instance.

Reimplemented from FArchive.

◆ operator<<() [3/11]

virtual FArchive & FArchive::operator<< ( FName Value)
inlinevirtual

Serializes an FName value from or into this archive.

This operator can be implemented by sub-classes that wish to serialize FName instances.

Parameters
ValueThe value to serialize.
Returns
This instance.

Reimplemented from FArchive.

◆ operator<<() [4/11]

FArchive & FArchive::operator<< ( FText Value)
virtual

Serializes an FText value from or into an archive.

Parameters
ArThe archive to serialize from or to.
ValueThe value to serialize.

Reimplemented from FArchive.

◆ operator<<() [5/11]

FArchive & FArchive::operator<< ( struct FLazyObjectPtr Value)
virtual

Serializes a lazy object pointer value from or into this archive.

Most of the time, FLazyObjectPtrs are serialized as UObject*, but some archives need to override this.

Parameters
ValueThe value to serialize.
Returns
This instance.

Reimplemented from FArchive.

◆ operator<<() [6/11]

FArchive & FArchive::operator<< ( struct FObjectPtr Value)
virtual

Serializes a wrapped object pointer value from or into this archive.

Most of the time, FObjectPtrs are serialized as UObject*, but some archives need to override this.

Parameters
ValueThe value to serialize.
Returns
This instance.

Reimplemented from FArchive.

◆ operator<<() [7/11]

FArchive & FArchive::operator<< ( struct FSoftObjectPath Value)
virtual

Serializes soft object paths from or into this archive.

Parameters
ValueSoft object path to serialize.
Returns
This instance.

Reimplemented from FArchive.

◆ operator<<() [8/11]

FArchive & FArchive::operator<< ( struct FSoftObjectPtr Value)
virtual

Serializes asset pointer from or into this archive.

Most of the time, FSoftObjectPtr are serialized as UObject *, but some archives need to override this.

Parameters
ValueThe asset pointer to serialize.
Returns
This instance.

Reimplemented from FArchive.

◆ operator<<() [9/11]

FArchive & FArchive::operator<< ( struct FWeakObjectPtr Value)
virtual

Serializes FWeakObjectPtr value from or into this archive.

This operator can be implemented by sub-classes that wish to serialize FWeakObjectPtr instances.

Parameters
ValueThe value to serialize.
Returns
This instance.

Reimplemented from FArchive.

◆ operator<<() [10/11]

template<class T >
FArchive & FArchive::operator<< ( TCheckedObjPtr< T > &  Value)
inline

Serializes a UObject wrapped in a TCheckedObjPtr container, using the above operator, and verifies the serialized object is derived from the correct base class, to prevent illegal casting.

Parameters
ValueThe value to serialize.
Returns
This instance.

◆ operator<<() [11/11]

virtual FArchive & FArchive::operator<< ( UObject *&  Value)
inlinevirtual

Serializes an UObject value from or into this archive.

This operator can be implemented by sub-classes that wish to serialize UObject instances.

Parameters
ValueThe value to serialize.
Returns
This instance.

Reimplemented from FArchive.

Friends And Related Symbol Documentation

◆ operator<< [1/15]

FArchive & operator<< ( FArchive Ar,
ANSICHAR Value 
)
friend

Serializes an ANSICHAR value from or into an archive.

Parameters
ArThe archive to serialize from or to.
ValueThe value to serialize.

◆ operator<< [2/15]

FArchive & operator<< ( FArchive Ar,
bool D 
)
friend

Serializes a Boolean value from or into an archive.

Parameters
ArThe archive to serialize from or to.
ValueThe value to serialize.

◆ operator<< [3/15]

FArchive & operator<< ( FArchive Ar,
double Value 
)
friend

Serializes a double precision floating point value from or into an archive.

Parameters
ArThe archive to serialize from or to.
ValueThe value to serialize.

◆ operator<< [4/15]

FArchive & operator<< ( FArchive Ar,
float Value 
)
friend

Serializes a single precision floating point value from or into an archive.

Parameters
ArThe archive to serialize from or to.
ValueThe value to serialize.

◆ operator<< [5/15]

CORE_API FArchive & operator<< ( FArchive Ar,
FString &  Value 
)
friend

Serializes an FString value from or into an archive.

Parameters
ArThe archive to serialize from or to.
ValueThe value to serialize.

◆ operator<< [6/15]

FArchive & operator<< ( FArchive Ar,
int16 Value 
)
friend

Serializes a signed 16-bit integer value from or into an archive.

Parameters
ArThe archive to serialize from or to.
ValueThe value to serialize.

◆ operator<< [7/15]

FArchive & operator<< ( FArchive Ar,
int32 Value 
)
friend

Serializes a signed 32-bit integer value from or into an archive.

Parameters
ArThe archive to serialize from or to.
ValueThe value to serialize.

◆ operator<< [8/15]

FArchive & operator<< ( FArchive Ar,
int64 Value 
)
friend

Serializes a signed 64-bit integer value from or into an archive.

Parameters
ArThe archive to serialize from or to.
ValueThe value to serialize.

◆ operator<< [9/15]

FArchive & operator<< ( FArchive Ar,
int8 Value 
)
friend

Serializes a signed 8-bit integer value from or into an archive.

Parameters
ArThe archive to serialize from or to.
ValueThe value to serialize.

◆ operator<< [10/15]

FArchive & operator<< ( FArchive Ar,
uint16 Value 
)
friend

Serializes an unsigned 16-bit integer value from or into an archive.

Parameters
ArThe archive to serialize from or to.
ValueThe value to serialize.

◆ operator<< [11/15]

FArchive & operator<< ( FArchive Ar,
uint32 Value 
)
friend

Serializes an unsigned 32-bit integer value from or into an archive.

Parameters
ArThe archive to serialize from or to.
ValueThe value to serialize.

◆ operator<< [12/15]

FArchive & operator<< ( FArchive Ar,
uint64 Value 
)
friend

Serializes a unsigned 64-bit integer value from or into an archive.

Parameters
ArThe archive to serialize from or to.
ValueThe value to serialize.

◆ operator<< [13/15]

FArchive & operator<< ( FArchive Ar,
uint8 Value 
)
friend

Serializes an unsigned 8-bit integer value from or into an archive.

Parameters
ArThe archive to serialize from or to.
ValueThe value to serialize.

◆ operator<< [14/15]

FArchive & operator<< ( FArchive Ar,
UTF32CHAR Value 
)
friend

Serializes a UTF32CHAR value from or into an archive.

Parameters
ArThe archive to serialize from or to.
ValueThe value to serialize.

◆ operator<< [15/15]

FArchive & operator<< ( FArchive Ar,
WIDECHAR Value 
)
friend

Serializes a WIDECHAR value from or into an archive.

Parameters
ArThe archive to serialize from or to.
ValueThe value to serialize.

Member Data Documentation

◆ BulkData

FByteBulkData& FBulkDataReader::BulkData
protected

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