FArchiveState

Windows
MacOS
Linux

Inheritance Hierarchy

FArchiveState

FArchive

FArchiveFileReaderGeneric

FMovieSceneArchiveFileReader

FArchiveFileWriterGeneric

FMovieSceneArchiveFileWriter

FArchiveLoadCompressedProxy

FArchiveProxy

FArchiveFromStructuredArchiveImpl

FArchiveUObjectFromStructuredArchiveImpl

FChaosArchive

FMaterialResourceProxyReader

FNameAsStringIndexProxyArchive

FNameAsStringProxyArchive

FOodleNetworkArchiveBase

FOodleNetworkDictionaryArchive

FPacketCaptureArchive

FPropertyProxyArchive

FShaderSaveArchive

FArchiveSaveCompressedProxy

FArchiveUObject

FArchiveCountMem

FArchiveFindCulprit

FArchiveGenerateReferenceGraph

FArchiveHasReferences

FArchiveObjectCrc32

FArchiveObjectGraph

FArchiveObjectPropertyMapper

FArchiveReferenceMarker

FArchiveReplaceObjectRefBase

FArchiveReplaceObjectRef

FArchiveReplaceOrClearExternalReferences

FArchiveScriptReferenceCollector

FArchiveShowReferences

FArchiveTopLevelReferenceCollector

FArchiveTraceRoute

FDuplicateDataReader

FDuplicateDataWriter

FFindAssetsArchive

FFindReferencersArchive

FLinkerLoad

FLinkerSave

FReferenceCollectorArchive

FTransaction::FObjectRecord::FReader

FTransaction::FObjectRecord::FWriter

FAsyncWriter

FBitArchive

FBitReader

FNetBitReader

FInBunch

FBitWriter

FNetBitWriter

FOutBunch

FControlChannelOutBunch

FBufferReaderBase

FBufferReader

FBufferReaderWithSHA

FBulkDataReader

FBufferWriter

FBulkDataWriter

FHttpStreamFArchive

FLocalFileStreamFArchive

FMemoryArchive

FArrayReader

FLargeMemoryReader

FArchiveStackTraceReader

FLargeMemoryWriter

FArchiveStackTrace

FMemoryReader

F4MLMemoryReader

FConcertIdentifierReader

FConcertSyncObjectReader

FMemoryReaderView

FMemoryWriter

F4MLMemoryWriter

FBufferArchive

FNetworkFileArchive

FConcertIdentifierWriter

FConcertSyncObjectWriter

FMaterialResourceMemoryWriter

FObjectWriter

FObjectReader

FStaticMemoryReader

TMemoryHasher

FOutputDeviceMemory::FOutputDeviceMemoryProxyArchive

FPreloadableFile

References

Module

Core

Header

/Engine/Source/Runtime/Core/Public/Serialization/Archive.h

Include

#include "Serialization/Archive.h"

Syntax

struct FArchiveState

Variables

Name Description

Public variable

uint8: 1

 

ArAllowLazyLoading

Whether to allow lazy loading of bulk/secondary data.

Public variable

uint8: 1

 

ArContainsCode

Quickly tell if an archive contains script code.

Public variable

uint8: 1

 

ArContainsMap

Used to determine whether FArchive contains a level or world.

Public variable

const FCustomPr...

 

ArCustomPropertyList

Custom property list attribute.

Public variable

uint32

 

ArDebugSerializationFlags

Custom serialization modifier flags can be used for anything

Protected variable

uint32

 

ArEngineNetVer

Holds the engine network protocol version.

Protected variable

FEngineVersionB...

 

ArEngineVer

Holds the engine version.

Public variable

uint8: 1

 

ArForceByteSwapping

Whether we should forcefully swap bytes.

Protected variable

uint8: 1

 

ArForceUnicode

Whether this archive wants to always save strings in UTF16 format even if they are ANSI characters

Protected variable

uint32

 

ArGameNetVer

Holds the game network protocol version.

Public variable

uint8: 1

 

ArIgnoreArchetypeRef

If true, we will not serialize archetype references for structs and classes.

Public variable

uint8: 1

 

ArIgnoreClassGeneratedByRef

If true, we will not serialize ClassGeneratedBy reference in UClass.

Public variable

uint8: 1

 

ArIgnoreClassRef

If true, UObject::Serialize will skip serialization of the Class property.

Public variable

uint8: 1

 

ArIgnoreOuterRef

If true, we will not serialize the Outer reference in UObject.

Public variable

uint8: 1

 

ArIsCountingMemory

Whether this archive is counting memory.

Public variable

uint8: 1

 

ArIsFilterEditorOnly

Whether editor only properties are being filtered from the archive (or has been filtered).

Protected variable

uint8: 1

 

ArIsLoading

Whether this archive is for loading data.

Public variable

uint8: 1

 

ArIsModifyingWeakAndStrongReferences

Whether a reference collector is modifying the references and wants both weak and strong ones

Public variable

uint8: 1

 

ArIsNetArchive

Whether or not this archive is sending/receiving network data

Public variable

uint8: 1

 

ArIsObjectReferenceCollector

Whether this archive only cares about serializing object references.

Protected variable

uint8: 1

 

ArIsPersistent

Whether this archive saves to persistent storage.

Public variable

uint8: 1

 

ArIsSaveGame

Whether this archive is saving/loading game state

Protected variable

uint8: 1

 

ArIsSaving

Whether this archive is for saving data.

Protected variable

uint8: 1

 

ArIsTextFormat

Whether this archive serializes to a text format.

Protected variable

uint8: 1

 

ArIsTransacting

Whether archive is transacting, which is used to keep track of changes to objects for things like the editor undo system.

Protected variable

int32

 

ArLicenseeUE4Ver

Holds the archive version for licensees.

Public variable

int64

 

ArMaxSerializeSize

Max size of data that this archive is allowed to serialize.

Public variable

uint8: 1

 

ArNoDelta

If true, do not perform delta serialization of properties.

Public variable

uint8: 1

 

ArNoIntraPropertyDelta

If true, do not perform delta serialization within properties (e.g. TMaps and TSets).

Public variable

uint32

 

ArPortFlags

Modifier flags that be used when serializing UProperties

Public variable

uint8: 1

 

ArRequiresLocalizationGather

Used to determine whether FArchive contains data required to be gathered for localization.

Public variable

int32

 

ArSerializingDefaults

Whether we are currently serializing defaults. > 0 means yes, <= 0 means no.

Public variable

uint8: 1

 

ArShouldSkipBulkData

Whether bulk data serialization should be skipped or not.

Protected variable

int32

 

ArUE4Ver

These will be private in FArchive.

Public variable

uint8: 1

 

ArUseCustomPropertyList

Set TRUE to use the custom property list attribute for serialization.

Protected variable

uint8: 1

 

ArUseUnversionedPropertySerialization

Whether tagged property serialization is replaced by faster unversioned serialization.

Protected variable

uint8: 1

 

ArWantBinaryPropertySerialization

Whether this archive wants properties to be serialized in binary form instead of tagged.

Protected variable

bool

 

bCustomVersionsAreReset

Indicates if the custom versions container is in a 'reset' state.

Protected variable

const ITargetPl...

 

CookingTargetPlatform

These will be private in FArchive.

Protected variable

FCustomVersionC...

 

CustomVersionContainer

All the custom versions stored in the archive.

Protected variable

FString *

 

LocalizationNamespacePtr

The localization namespace that this archive should use when serializing text properties.

Protected variable

FProperty *

 

SerializedProperty

Holds the pointer to the property that is currently being serialized

Protected variable

FArchiveSeriali...

 

SerializedPropertyChain

Holds the chain of properties that are currently being serialized

Constructors

No constructors are accessible with public or protected access.

Destructors

No destructors are accessible with public or protected access.

Functions

Name Description

Public function Virtual

bool

 

AtEnd()

Returns true if the current location within the backing data storage is at the end, always returns false if there is no storage.

Public function

void

 

ClearError()

Sets ArIsError to false, this does not clear any CriticalErrors

Public function Const

bool

 

ContainsCode()

Returns true if this archive contains native or generated code.

Public function Const

bool

 

ContainsMap()

Returns true if this archive contains a ULevel or UWorld object.

Public function Const

const ITarge...

 

CookingTarget()

Returns the cooking target platform.

Protected function

void

 

CopyTrivialFArchiveStatusMembers

(
    const FArchiveState& ArchiveStatus...
)

These will be private in FArchive.

Public function Virtual

void

 

CountBytes

(
    SIZE_T InNum,
    SIZE_T InMax
)

Called to get the computed size from a size-detecting archive after it has finished serializing.

Public function Const

int32

 

CustomVer

(
    const FGuid& Key
)

Queries a custom version from the archive.

Public function Const

bool

 

DoDelta()

Returns true if this archive should handle delta serialization for properties.

Public function Const

bool

 

DoIntraPropertyDelta()

Returns true if this archive should perform delta serialization within properties (e.g. TMaps and TSets).

Public function Const

uint32

 

EngineNetVer()

Returns the engine-global network protocol version for this archive.

Public function Const

FEngineVersi...

 

EngineVer()

Returns the compiled engine version used for this archive.

Public function Const

bool

 

ForceByteSwapping()

Returns true if this archive should always swap bytes, ignoring endian rules.

Public function Const

uint32

 

GameNetVer()

Returns the game-specific network protocol version for this archive.

Public function Virtual

UObject *...

 

GetArchetypeFromLoader

(
    const UObject* Obj
)

Called to retrieve the archetype from the event driven loader.

Public function Virtual Const

FString

 

GetArchiveName()

Returns the name of the Archive.

Protected function Const

FString

 

GetBaseLocalizationNamespace()

See GetLocalizationNamespace

Public function Virtual Const

const FCusto...

 

GetCustomVersions()

Gets the custom version numbers for this archive.

Public function Const

uint32

 

GetDebugSerializationFlags()

Returns the editor-only debug serialization flags.

Public function Const

bool

 

GetError()

Public function Virtual

FArchiveStat...

 

GetInnermostState()

Returns lowest level archive state, proxy archives will override this.

Public function Virtual

FLinker *...

 

GetLinker()

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

Public function Virtual Const

FString

 

GetLocalizationNamespace()

Get the localization namespace that this archive should use when serializing text properties.

Public function Const

int64

 

GetMaxSerializeSize()

Returns the maximum size of data that this archive is allowed to serialize.

Public function Const

uint32

 

GetPortFlags()

Returns this archive's property serialization modifier flags.

Public function Virtual

FUObjectSeri...

 

GetSerializeContext()

Gets the current UObject serialization context for this archive.

Public function Const

FProperty &#...

 

GetSerializedProperty()

Gets the property that is currently being serialized

Public function Const

const FArchi...

 

GetSerializedPropertyChain()

Get the raw serialized property chain for this archive @note Accessing this directly can avoid an array allocation depending on your use-case

Public function Const

void

 

GetSerializedPropertyChain

(
    TArray< class FProperty* >& O...
)

Gets the chain of properties that are currently being serialized @note This populates the array in stack order, so the 0th entry in the array is the top of the stack of properties

Public function Const

bool

 

HasAllPortFlags

(
    uint32 Flags
)

Checks to see if all of the passed in property serialization modifier flags are set.

Public function Const

bool

 

HasAnyPortFlags

(
    uint32 Flags
)

Checks to see if any of the passed in property serialization modifier flags are set.

Public function Const

bool

 

IsAllowingLazyLoading()

Returns true if this archive sould allow lazy loading of bulk / secondary data.

Public function

bool

 

IsByteSwapping()

Returns true if data larger than 1 byte should be swapped to deal with endian mismatches.

Public function Const

bool

 

IsCooking()

Checks whether the archive is used for cooking.

Public function Const

bool

 

IsCountingMemory()

Returns true if this archive is counting memory, normally CountBytes is called to get the size.

Public function Const

bool

 

IsCriticalError()

Returns true if this archive contains critical errors that cannot be recovered from.

Public function Virtual Const

bool

 

IsEditorOnlyPropertyOnTheStack()

Returns true if the stack of currently serialized properties contains an editor-only property

Public function Const

bool

 

IsError()

Returns true if this archive contains errors, which means that further serialization is generally not safe.

Public function Const

bool

 

IsFilterEditorOnly()

Indicates whether this archive is filtering editor-only on save or contains data that had editor-only content stripped.

Public function Const

bool

 

IsForcingUnicode()

Returns true if this archive wants to always save strings in UTF16 format even if they are ANSI characters.

Public function Const

bool

 

IsIgnoringArchetypeRef()

Returns true if this archive should ignore archetype references for structs and classes.

Public function Const

bool

 

IsIgnoringClassGeneratedByRef()

Returns true if this archive should ignore the ClassGeneratedBy reference in UClass.

Public function Const

bool

 

IsIgnoringClassRef()

Returns true if this archive should ignore the Class reference in UObject.

Public function Const

bool

 

IsIgnoringOuterRef()

Returns true if this archive should ignore the Outer reference in UObject.

Public function Const

bool

 

IsLoading()

Returns true if this archive is for loading data.

Public function Const

bool

 

IsModifyingWeakAndStrongReferences()

Returns true if this archive should modify/search weak object references as well as strong ones.

Public function Const

bool

 

IsNetArchive()

Whether or not this archive is serializing data being sent/received by the netcode

Public function Const

bool

 

IsObjectReferenceCollector()

Returns true if this archive is only looking for UObject references.

Public function Const

bool

 

IsPersistent()

Returns true if this archive is saving or loading data destined for persistent storage and should skip transient data.

Public function Const

bool

 

IsSaveGame()

Indicates whether this archive is saving or loading game state

Public function Const

bool

 

IsSaving()

Returns true if this archive is for saving data, this can also be a pre-save preparation archive.

Public function Const

bool

 

IsSerializingDefaults()

Returns true if this archive is currently serializing class/struct default values.

Public function Const

bool

 

IsTextFormat()

Returns true if this archive serializes to a structured text format.

Public function Const

bool

 

IsTransacting()

Returns true if this archive is transacting, which is used to keep track of changes to objects for things like the editor undo system.

Public function Const

int32

 

LicenseeUE4Ver()

Returns the licensee-specific version used for this archive, will be 0 by default.

Protected function Static

void

 

LinkProxy

(
    FArchiveState& Inner,
    FArchiveState& Proxy
)

Public function Const

bool

 

RequiresLocalizationGather()

Returns true if this archive contains data required to be gathered for localization.

Public function Virtual

void

 

Reset()

Resets all of the base archive members.

Public function Virtual

void

 

ResetCustomVersions()

Resets the custom version numbers for this archive.

Public function

void

 

SetArchiveState

(
    const FArchiveState& InState
)

Modifies current archive state, can be used to override flags.

Protected function

void

 

SetBaseLocalizationNamespace

(
    const FString& InLocalizationNames...
)

See SetLocalizationNamespace

Public function

void

 

SetByteSwapping

(
    bool Enabled
)

Toggle byte order swapping.

Public function

void

 

SetCookingTarget

(
    const ITargetPlatform* InCooki...
)

Sets the cooking target platform.

Public function

void

 

SetCriticalError()

Sets the archiver IsCriticalError and IsError to true.

Public function

void

 

SetCustomVersion

(
    const FGuid& Key,
    int32 Version,
    FName FriendlyName
)

Sets a specific custom version

Public function Virtual

void

 

SetCustomVersions

(
    const FCustomVersionContainer& Cus...
)

Sets the custom version numbers for this archive.

Public function

void

 

SetDebugSerializationFlags

(
    uint32 InCustomFlags
)

Sets the archives custom serialization modifier flags (nothing to do with PortFlags or Custom versions)

Public function Virtual

void

 

SetEngineNetVer

(
    const uint32 InEngineNetVer
)

Sets the archive engine network version.

Public function Virtual

void

 

SetEngineVer

(
    const FEngineVersionBase& InVer
)

Sets the archive engine version.

Public function

void

 

SetError()

Sets ArIsError to true. Also sets error in the proxy archiver if one is wrapping this.

Public function Virtual

void

 

SetFilterEditorOnly

(
    bool InFilterEditorOnly
)

Sets a flag indicating that this archive needs to filter editor-only content.

Public function Virtual

void

 

SetForceUnicode

(
    bool bInForceUnicode
)

Sets whether this archive wants to force saving as Unicode.

Public function Virtual

void

 

SetGameNetVer

(
    const uint32 InGameNetVer
)

Sets the archive game network version.

Public function Virtual

void

 

SetIsLoading

(
    bool bInIsLoading
)

Sets whether this archive is for loading data.

Public function Virtual

void

 

SetIsPersistent

(
    bool bInIsPersistent
)

Sets whether this archive is to persistent storage.

Public function Virtual

void

 

SetIsSaving

(
    bool bInIsSaving
)

Sets whether this archive is for saving data.

Public function Virtual

void

 

SetIsTextFormat

(
    bool bInIsTextFormat
)

Sets whether this archive is in text format.

Public function Virtual

void

 

SetIsTransacting

(
    bool bInIsTransacting
)

Sets whether this archive is for transacting.

Public function Virtual

void

 

SetLicenseeUE4Ver

(
    int32 InVer
)

Sets the archive licensee version number.

Public function Virtual

void

 

SetLocalizationNamespace

(
    const FString& InLocalizationNames...
)

Set the localization namespace that this archive should use when serializing text properties.

Public function

void

 

SetPortFlags

(
    uint32 InPortFlags
)

Sets the archive's property serialization modifier flags

Public function Virtual

void

 

SetSerializeContext

(
    FUObjectSerializeContext* InLo...
)

Sets the current UObject serialization context for this archive.

Public function Virtual

void

 

SetSerializedProperty

(
    FProperty* InProperty
)

Overrides the property that is currently being serialized @note You likely want to call PushSerializedProperty/PopSerializedProperty instead

Public function Virtual

void

 

SetSerializedPropertyChain

(
    const FArchiveSerializedPropertyCha...,
    FProperty* InSerializedPropert...
)

Set the raw serialized property chain for this archive, optionally overriding the serialized property too (or null to use the head of the property chain)

Public function Virtual

void

 

SetUE4Ver

(
    int32 InVer
)

Sets the archive version number.

Public function Virtual

void

 

SetUseUnversionedPropertySerialization

(
    bool bInUseUnversioned
)

Sets whether tagged property serialization should be replaced by faster unversioned serialization.

Public function Virtual

void

 

SetWantBinaryPropertySerialization

(
    bool bInWantBinaryPropertySerializa...
)

Sets whether this archive wants binary property serialization.

Public function Const

bool

 

ShouldSkipBulkData()

Returns true if this archive should ignore bulk data.

Public function Virtual Const

bool

 

ShouldSkipProperty

(
    const FProperty* InProperty
)

Checks whether the archive wants to skip the property independent of the other flags

Public function Virtual

int64

 

Tell()

Returns the current location within the backing data storage, which can possibly be passed to Seek later to restore a read/write location.

Public function

void

 

ThisContainsCode()

Sets a flag indicating that this archive contains native or generated code.

Public function

void

 

ThisContainsMap()

Sets a flag indicating that this archive contains a ULevel or UWorld object.

Public function

void

 

ThisRequiresLocalizationGather()

Sets a flag indicating that this archive contains data required to be gathered for localization.

Public function Virtual

int64

 

TotalSize()

Returns total size of the backing data storage.

Public function Const

int32

 

UE4Ver()

Returns the global engine serialization version used for this archive.

Protected function Static

void

 

UnlinkProxy

(
    FArchiveState& Inner,
    FArchiveState& Proxy
)

Public function Virtual Const

bool

 

UseToResolveEnumerators()

Checks whether the archive is used to resolve out-of-date enum indexes If function returns true, the archive should be called only for objects containing user defined enum

Public function Const

bool

 

UseUnversionedPropertySerialization()

Returns true if tagged property serialization should be replaced by faster unversioned serialization.

Public function Const

bool

 

WantBinaryPropertySerialization()

Returns true if this archive wants properties to be serialized in binary form instead of safer but slower tagged form.

Classes

Name

Description

Public struct

FFastPathLoadBuffer

These are used for fastpath inline serializers

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss