Navigation
Unreal Engine C++ API Reference > Runtime > Core > Serialization
Inheritance Hierarchy
- FArchiveState
- FArchive
- FArchiveFileReaderGeneric
- FMovieSceneArchiveFileReader
- FArchiveFileWriterGeneric
- FMovieSceneArchiveFileWriter
- FArchiveLoadCompressedProxy
- FArchiveMD5
- FArchiveProxy
- FActorDescArchive
- FArchiveFromStructuredArchiveImpl
- FArchiveUObjectFromStructuredArchiveImpl
- FArchiveStackTraceWriter
- FChaosArchive
- FHierarchicalLogArchive
- FMaterialResourceProxyReader
- FNameAsStringIndexProxyArchive
- FNameAsStringProxyArchive
- FPropertyProxyArchive
- FShaderSaveArchive
- FArchiveSaveCompressedProxy
- FArchiveUObject
- FArchiveCountMem
- FArchiveCrc32
- FArchiveFindCulprit
- FArchiveGenerateReferenceGraph
- FArchiveHasReferences
- FArchiveObjectCrc32
- FZoneGraphObjectCRC32
- FArchiveObjectPropertyMapper
- FArchiveReferenceMarker
- FArchiveReplaceObjectRefBase
- FArchiveReplaceObjectRef
- FArchiveReplaceObjectAndStructPropertyRef
- FArchiveReplaceOrClearExternalReferences
- FArchiveScriptReferenceCollector
- FArchiveShowReferences
- FArchiveTopLevelReferenceCollector
- FDuplicateDataReader
- FDuplicateDataWriter
- FFindAssetsArchive
- FFindReferencersArchive
- FKeyBuilder
- FLinkerLoad
- FLinkerSave
- FReferenceCollectorArchive
- FSerializedObjectDataReader
- FTransaction::FObjectRecord::FReader
- FSerializedObjectDataWriterCommon
- FDiffableObjectDataWriter
- FSerializedObjectDataWriter
- FTransaction::FObjectRecord::FWriter
- FSoftObjectPathFixupArchive
- FArchiveWithDelegate
- FAsyncWriter
- FBitArchive
- FBitReader
- FNetBitReader
- FInBunch
- FBitWriter
- FBufferReaderBase
- FBufferReader
- FBufferReaderWithSHA
- FBulkDataReader
- FEditorBulkDataReader
- FBufferWriter
- FBuildVersionBuilder
- FBulkDataWriter
- FEditorBulkDataWriter
- FHttpStreamFArchive
- FLocalFileStreamFArchive
- FMemoryArchive
- FArrayReader
- FConcertIdentifierRewriter
- FConcertSyncObjectRewriter
- FGLTFMemoryArchive
- FLargeMemoryReader
- FArchiveStackTraceReader
- FLargeMemoryWriter
- FArchiveStackTrace
- FArchiveStackTraceMemoryWriter
- FMemoryReader
- FConcertIdentifierReader
- FConcertSyncObjectReader
- FMLAdapterMemoryReader
- FMemoryReaderView
- FObjectReader
- FBinaryObjectReader
- FStaticMemoryReader
- TMemoryHasher
- TMemoryWriter
- FMemoryWriter
- FConcertIdentifierWriter
- FConcertSyncObjectWriter
- FMaterialResourceMemoryWriter
- FMLAdapterMemoryWriter
- FObjectWriter
- FBinaryObjectWriter
- FMemoryWriter64
- TBufferArchive
- FBufferArchive
- FNetworkFileArchive
- FBufferArchive64
- FOutputDeviceMemory::FOutputDeviceMemoryProxyArchive
- FPreloadableArchive
- FPreloadableFile
- FPreloadableArchiveProxy
- FStorageServerRequest
- FStorageServerChunkBatchRequest
- FStorageServerResponse
References
Module | Core |
Header | /Engine/Source/Runtime/Core/Public/Serialization/Archive.h |
Include | #include "Serialization/Archive.h" |
Syntax
struct FArchiveState
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
uint8: 1 | ArAllowLazyLoading | Whether to allow lazy loading of bulk/secondary data. |
![]() |
uint8: 1 | ArContainsCode | Quickly tell if an archive contains script code. |
![]() |
uint8: 1 | ArContainsMap | Used to determine whether FArchive contains a level or world. |
![]() |
const FCustomPropertyListNode * | ArCustomPropertyList | Custom property list attribute. |
![]() |
uint32 | ArDebugSerializationFlags | Custom serialization modifier flags can be used for anything |
![]() |
FEngineVersionBase | ArEngineVer | Holds the engine version. |
![]() |
uint8: 1 | ArForceByteSwapping | Whether we should forcefully swap bytes. |
![]() |
uint8: 1 | ArForceUnicode | Whether this archive wants to always save strings in UTF16 format even if they are ANSI characters |
![]() |
uint8: 1 | ArIgnoreArchetypeRef | If true, we will not serialize archetype references for structs and classes. |
![]() |
uint8: 1 | ArIgnoreClassGeneratedByRef | If true, we will not serialize ClassGeneratedBy reference in UClass. |
![]() |
uint8: 1 | ArIgnoreClassRef | If true, UObject::Serialize will skip serialization of the Class property. |
![]() |
uint8: 1 | ArIgnoreOuterRef | If true, we will not serialize the Outer reference in UObject. |
![]() |
uint8: 1 | ArIsCountingMemory | Whether this archive is counting memory. |
![]() |
uint8: 1 | ArIsFilterEditorOnly | Whether editor only properties are being filtered from the archive (or has been filtered). |
![]() |
uint8: 1 | ArIsLoading | Whether this archive is for loading data. |
![]() |
uint8: 1 | ArIsLoadingFromCookedPackage | Whether this archive is loading from a cooked package. |
![]() |
uint8: 1 | ArIsModifyingWeakAndStrongReferences | Whether a reference collector is modifying the references and wants both weak and strong ones |
![]() |
uint8: 1 | ArIsNetArchive | Whether or not this archive is sending/receiving network data |
![]() |
uint8: 1 | ArIsObjectReferenceCollector | Whether this archive only cares about serializing object references. |
![]() |
uint8: 1 | ArIsPersistent | Whether this archive saves to persistent storage. |
![]() |
uint8: 1 | ArIsSaveGame | Whether this archive is saving/loading game state |
![]() |
uint8: 1 | ArIsSaving | Whether this archive is for saving data. |
![]() |
uint8: 1 | ArIsTextFormat | Whether this archive serializes to a text format. |
![]() |
uint8: 1 | ArIsTransacting | Whether archive is transacting, which is used to keep track of changes to objects for things like the editor undo system. |
![]() |
int32 | ArLicenseeUEVer | Holds the archive version for licensees. |
![]() |
int64 | ArMaxSerializeSize | Max size of data that this archive is allowed to serialize. |
![]() |
uint8: 1 | ArNoDelta | If true, do not perform delta serialization of properties. |
![]() |
uint8: 1 | ArNoIntraPropertyDelta | If true, do not perform delta serialization within properties (e.g. TMaps and TSets). |
![]() |
uint32 | ArPortFlags | Modifier flags that be used when serializing UProperties |
![]() |
uint8: 1 | ArRequiresLocalizationGather | Used to determine whether FArchive contains data required to be gathered for localization. |
![]() |
int32 | ArSerializingDefaults | Whether we are currently serializing defaults. > 0 means yes, <= 0 means no. |
![]() |
uint8: 1 | ArShouldSkipBulkData | Whether bulk data serialization should be skipped or not. |
![]() |
FPackageFileVersion | ArUEVer | These will be private in FArchive. |
![]() |
uint8: 1 | ArUseCustomPropertyList | Set TRUE to use the custom property list attribute for serialization. |
![]() |
uint8: 1 | ArUseUnversionedPropertySerialization | Whether tagged property serialization is replaced by faster unversioned serialization. |
![]() |
uint8: 1 | ArWantBinaryPropertySerialization | Whether this archive wants properties to be serialized in binary form instead of tagged. |
![]() |
bool | bCustomVersionsAreReset | Indicates if the custom versions container is in a 'reset' state. |
![]() |
FArchiveCookData * | CookData | These will be private in FArchive. |
![]() |
FCustomVersionContainer * | CustomVersionContainer | All the custom versions stored in the archive. |
![]() |
FString * | LocalizationNamespacePtr | The localization namespace that this archive should use when serializing text properties. |
![]() |
FProperty * | SerializedProperty | Holds the pointer to the property that is currently being serialized |
![]() |
FArchiveSerializedPropertyChain * | 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
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
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. |
![]() |
void | ClearError () |
Sets ArIsError to false, this does not clear any CriticalErrors |
![]() ![]() |
bool | ContainsCode () |
Returns true if this archive contains native or generated code. |
![]() ![]() |
bool | ContainsMap () |
Returns true if this archive contains a ULevel or UWorld object. |
![]() ![]() |
const ITargetPlatform * | Returns the cooking target platform. | |
![]() |
void | CopyTrivialFArchiveStatusMembers
(
const FArchiveState& ArchiveStatusToCopy |
These will be private in FArchive. |
![]() ![]() |
void | CountBytes
(
SIZE_T InNum, |
Called to get the computed size from a size-detecting archive after it has finished serializing. |
![]() ![]() |
int32 | Queries a custom version from the archive. | |
![]() ![]() |
bool | DoDelta () |
Returns true if this archive should handle delta serialization for properties. |
![]() ![]() |
bool | Returns true if this archive should perform delta serialization within properties (e.g. TMaps and TSets). | |
![]() ![]() ![]() |
uint32 | EngineNetVer () |
Returns the engine-global network protocol version for this archive. |
![]() ![]() |
FEngineVersionBase | EngineVer () |
Returns the compiled engine version used for this archive. |
![]() ![]() |
bool | Returns true if this archive should always swap bytes, ignoring endian rules. | |
![]() ![]() ![]() |
uint32 | GameNetVer () |
Returns the game-specific network protocol version for this archive. |
![]() ![]() |
UObject * | GetArchetypeFromLoader
(
const UObject* Obj |
Called to retrieve the archetype from the event driven loader. |
![]() ![]() ![]() |
FString | Returns the name of the Archive. | |
![]() ![]() |
FString | See GetLocalizationNamespace | |
![]() |
FArchiveCookContext * | ||
![]() |
FArchiveCookData * | GetCookData () |
|
![]() ![]() ![]() |
const FCustomVersionContainer & | Gets the custom version numbers for this archive. | |
![]() ![]() |
uint32 | Returns the editor-only debug serialization flags. | |
![]() ![]() |
bool | GetError () |
|
![]() ![]() |
FArchiveState & | Returns lowest level archive state, proxy archives will override this. | |
![]() ![]() |
FLinker * | GetLinker () |
If this archive is a FLinkerLoad or FLinkerSave, returns a pointer to the ULinker portion. |
![]() ![]() ![]() |
FString | Get the localization namespace that this archive should use when serializing text properties. | |
![]() ![]() |
int64 | Returns the maximum size of data that this archive is allowed to serialize. | |
![]() ![]() |
uint32 | GetPortFlags () |
Returns this archive's property serialization modifier flags. |
![]() ![]() |
FUObjectSerializeContext * | Gets the current UObject serialization context for this archive. | |
![]() ![]() |
FProperty * | Gets the property that is currently being serialized | |
![]() ![]() |
const FArchiveSerializedPropertyChain * | Get the raw serialized property chain for this archive | |
![]() ![]() |
void | GetSerializedPropertyChain
(
TArray< class FProperty* >& OutProperties |
Gets the chain of properties that are currently being serialized |
![]() ![]() |
bool | HasAllPortFlags
(
uint32 Flags |
Checks to see if all of the passed in property serialization modifier flags are set. |
![]() ![]() |
bool | HasAnyPortFlags
(
uint32 Flags |
Checks to see if any of the passed in property serialization modifier flags are set. |
![]() ![]() |
bool | Returns true if this archive sould allow lazy loading of bulk / secondary data. | |
![]() |
bool | Returns true if data larger than 1 byte should be swapped to deal with endian mismatches. | |
![]() ![]() |
bool | IsCooking () |
Checks whether the archive is used for cooking. |
![]() ![]() |
bool | Returns true if this archive is counting memory, normally CountBytes is called to get the size. | |
![]() ![]() |
bool | Returns true if this archive contains critical errors that cannot be recovered from. | |
![]() ![]() ![]() |
bool | Returns true if the stack of currently serialized properties contains an editor-only property | |
![]() ![]() |
bool | IsError () |
Returns true if this archive contains errors, which means that further serialization is generally not safe. |
![]() ![]() |
bool | Indicates whether this archive is filtering editor-only on save or contains data that had editor-only content stripped. | |
![]() ![]() |
bool | Returns true if this archive wants to always save strings in UTF16 format even if they are ANSI characters. | |
![]() ![]() |
bool | Returns true if this archive should ignore archetype references for structs and classes. | |
![]() ![]() |
bool | Returns true if this archive should ignore the ClassGeneratedBy reference in UClass. | |
![]() ![]() |
bool | Returns true if this archive should ignore the Class reference in UObject. | |
![]() ![]() |
bool | Returns true if this archive should ignore the Outer reference in UObject. | |
![]() ![]() |
bool | IsLoading () |
Returns true if this archive is for loading data. |
![]() ![]() |
bool | Returns true if this archive is loading from a cooked package. | |
![]() ![]() |
bool | Returns true if this archive should modify/search weak object references as well as strong ones. | |
![]() ![]() |
bool | IsNetArchive () |
Whether or not this archive is serializing data being sent/received by the netcode |
![]() ![]() |
bool | Returns true if this archive is only looking for UObject references. | |
![]() ![]() |
bool | IsPersistent () |
Returns true if this archive is saving or loading data destined for persistent storage and should skip transient data. |
![]() ![]() |
bool | IsSaveGame () |
Indicates whether this archive is saving or loading game state |
![]() ![]() |
bool | IsSaving () |
Returns true if this archive is for saving data, this can also be a pre-save preparation archive. |
![]() ![]() |
bool | Returns true if this archive is currently serializing class/struct default values. | |
![]() ![]() |
bool | IsTextFormat () |
Returns true if this archive serializes to a structured text format. |
![]() ![]() |
bool | Returns true if this archive is transacting, which is used to keep track of changes to objects for things like the editor undo system. | |
![]() ![]() |
int32 | Returns the licensee-specific version used for this archive, will be 0 by default. | |
![]() ![]() |
void | LinkProxy
(
FArchiveState& Inner, |
|
![]() ![]() |
bool | Returns true if this archive contains data required to be gathered for localization. | |
![]() ![]() |
void | Reset () |
Resets all of the base archive members. |
![]() ![]() |
void | Resets the custom version numbers for this archive. | |
![]() |
void | SetArchiveState
(
const FArchiveState& InState |
Modifies current archive state, can be used to override flags. |
![]() |
void | SetBaseLocalizationNamespace
(
const FString& InLocalizationNamespace |
See SetLocalizationNamespace |
![]() |
void | SetByteSwapping
(
bool Enabled |
Toggle byte order swapping. |
![]() |
void | SetCookData
(
FArchiveCookData* InCookData |
Marks that this archive is "cooking" by providing the cook data bundle. |
![]() |
void | Sets the archiver IsCriticalError and IsError to true. | |
![]() |
void | SetCustomVersion
(
const FGuid& Key, |
Sets a specific custom version |
![]() ![]() |
void | SetCustomVersions
(
const FCustomVersionContainer& CustomVersionContainer |
Sets the custom version numbers for this archive. |
![]() |
void | SetDebugSerializationFlags
(
uint32 InCustomFlags |
Sets the archives custom serialization modifier flags (nothing to do with PortFlags or Custom versions) |
![]() ![]() |
void | SetEngineNetVer
(
const uint32 InEngineNetVer |
Sets the archive engine network version. |
![]() ![]() |
void | SetEngineVer
(
const FEngineVersionBase& InVer |
Sets the archive engine version. |
![]() |
void | SetError () |
Sets ArIsError to true. Also sets error in the proxy archiver if one is wrapping this. |
![]() ![]() |
void | SetFilterEditorOnly
(
bool InFilterEditorOnly |
Sets a flag indicating that this archive needs to filter editor-only content. |
![]() ![]() |
void | SetForceUnicode
(
bool bInForceUnicode |
Sets whether this archive wants to force saving as Unicode. |
![]() ![]() |
void | SetGameNetVer
(
const uint32 InGameNetVer |
Sets the archive game network version. |
![]() ![]() |
void | SetIsLoading
(
bool bInIsLoading |
Sets whether this archive is for loading data. |
![]() ![]() |
void | SetIsLoadingFromCookedPackage
(
bool bInIsLoadingFromCookedPackage |
Sets whether the archive is loading from a cooked package. |
![]() ![]() |
void | SetIsPersistent
(
bool bInIsPersistent |
Sets whether this archive is to persistent storage. |
![]() ![]() |
void | SetIsSaving
(
bool bInIsSaving |
Sets whether this archive is for saving data. |
![]() ![]() |
void | SetIsTextFormat
(
bool bInIsTextFormat |
Sets whether this archive is in text format. |
![]() ![]() |
void | SetIsTransacting
(
bool bInIsTransacting |
Sets whether this archive is for transacting. |
![]() ![]() |
void | SetLicenseeUEVer
(
int32 InVer |
Sets the archive licensee version number. |
![]() ![]() |
void | SetLocalizationNamespace
(
const FString& InLocalizationNamespace |
Set the localization namespace that this archive should use when serializing text properties. |
![]() |
void | SetPortFlags
(
uint32 InPortFlags |
Sets the archive's property serialization modifier flags |
![]() ![]() |
void | SetSerializeContext
(
FUObjectSerializeContext* InLoadContext |
Sets the current UObject serialization context for this archive. |
![]() ![]() |
void | SetSerializedProperty
(
FProperty* InProperty |
Overrides the property that is currently being serialized |
![]() ![]() |
void | SetSerializedPropertyChain
(
const FArchiveSerializedPropertyChain* InSerializedPropertyChain, |
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) |
![]() |
void | SetShouldSkipCompilingAssets
(
bool Enabled |
Set whether or not it is allowed to skip serialization on assets still being compiled to avoid waiting unless strictly necessary. |
![]() |
void | SetShouldSkipUpdateCustomVersion
(
bool bShouldSkip |
If set true, UsingCurrentVersion will not query the version registry to get the latest version data for the key if the version key is already set in the local container. |
![]() ![]() |
void | SetUEVer
(
FPackageFileVersion InVer |
Sets the archive version number. |
![]() ![]() |
void | SetUseUnversionedPropertySerialization
(
bool bInUseUnversioned |
Sets whether tagged property serialization should be replaced by faster unversioned serialization. |
![]() ![]() |
void | SetWantBinaryPropertySerialization
(
bool bInWantBinaryPropertySerialization |
Sets whether this archive wants binary property serialization. |
![]() ![]() |
bool | Returns true if this archive should ignore bulk data. | |
![]() ![]() |
bool | Returns true if it is allowed to skip serialization on assets still being compiled to avoid waiting unless strictly necessary. | |
![]() ![]() ![]() |
bool | ShouldSkipProperty
(
const FProperty* InProperty |
Checks whether the archive wants to skip the property independent of the other flags |
![]() ![]() |
bool | Returns true if this Archive is does not update the custom version data for a given key if has already been set previously in the local custom versions container | |
![]() ![]() |
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. |
![]() |
void | Sets a flag indicating that this archive contains native or generated code. | |
![]() |
void | Sets a flag indicating that this archive contains a ULevel or UWorld object. | |
![]() |
void | Sets a flag indicating that this archive contains data required to be gathered for localization. | |
![]() ![]() |
int64 | TotalSize () |
Returns total size of the backing data storage. |
![]() ![]() |
FPackageFileVersion | UEVer () |
Returns the global engine serialization version used for this archive. |
![]() ![]() |
void | UnlinkProxy
(
FArchiveState& Inner, |
|
![]() ![]() ![]() |
bool | 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 | |
![]() ![]() |
bool | Returns true if tagged property serialization should be replaced by faster unversioned serialization. | |
![]() ![]() |
bool | Returns true if this archive wants properties to be serialized in binary form instead of safer but slower tagged form. |
Classes
Type | Name | Description | |
---|---|---|---|
![]() |
FFastPathLoadBuffer | These are used for fastpath inline serializers |
Deprecated Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
int32 | Use LicenseeUEVer instead | |
![]() |
void | SetCookingTarget
(
const ITargetPlatform* |
CookingTarget has been moved to FArchiveCookData. |
![]() |
void | SetLicenseeUE4Ver
(
int32 InVer |
Use SetLicenseeUEVer instead |
![]() |
void | SetUE4Ver
(
int32 InVer |
Use SetUEVer instead which takes the version as a FPackageFileVersion. See the documentation for further details |
![]() ![]() |
int32 | UE4Ver () |
Use UEVer instead which returns the version as a FPackageFileVersion. See the documentation for further details |