description: Creates an instanced child. If you intend to save this filter, you should use this function instead of SetExternalChild;

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="Level Snapshots") [ULevelSnapshotFilter](API\Plugins\LevelSnapshotFilters\ULevelSnapshotFilter) * CreateChild ( const [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [ULevelSnapshotFilter](API\Plugins\LevelSnapshotFilters\ULevelSnapshotFilter) > & ChildClass )


module: LevelSnapshotFilters

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="Level Snapshots") [ULevelSnapshotFilter](API\Plugins\LevelSnapshotFilters\ULevelSnapshotFilter) * GetChild() const


description:
This is called when an actor was added to the world since the snapshot had been taken.
Whether to track the added actor

code: virtual [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) IsAddedActorValid ( const [FIsAddedActorValidParams](API\Plugins\LevelSnapshotFilters\FIsAddedActorValidParams) & Params ) const


description: Whether this actor should be considered when applying a snapshot to the world.

code: virtual [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) IsActorValid ( const [FIsActorValidParams](API\Plugins\LevelSnapshotFilters\FIsActorValidParams) & Params ) const


description:
This is called when an actor was removed from the world since the snapshot had been taken.
Whether to track the removed actor

code: virtual [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) IsDeletedActorValid ( const [FIsDeletedActorValidParams](API\Plugins\LevelSnapshotFilters\FIsDeletedActorValidParams) & Params ) const


description: Whether the property in LevelActor should be overriden with the value in SnapshotActor.

code: virtual [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) IsPropertyValid ( const [FIsPropertyValidParams](API\Plugins\LevelSnapshotFilters\FIsPropertyValidParams) & Params ) const


className: UNegationFilter

description: Negation rules:

bShouldNegate

type: bool


description: Creates an instanced child. If you intend to save this filter, you should use CreateChild;

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="Level Snapshots") void SetExternalChild ( [ULevelSnapshotFilter](API\Plugins\LevelSnapshotFilters\ULevelSnapshotFilter) * NewChild )


description: If you intend to save your filter, add children using CreateChild.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="Level Snapshots") void AddChild ( [ULevelSnapshotFilter](API\Plugins\LevelSnapshotFilters\ULevelSnapshotFilter) * Filter )


description: Creates a child and adds it to this filter. If you intend to save your filter, add children using this function.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="Level Snapshots") [ULevelSnapshotFilter](API\Plugins\LevelSnapshotFilters\ULevelSnapshotFilter) * CreateChild ( const [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [ULevelSnapshotFilter](API\Plugins\LevelSnapshotFilters\ULevelSnapshotFilter) > & Class )


description: Gets the children in this filter

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="Level Snapshots") [TArray](API\Runtime\Core\Containers\TArray)< [ULevelSnapshotFilter](API\Plugins\LevelSnapshotFilters\ULevelSnapshotFilter) * > GetChildren() const


code: void ForEachChild ( [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< [EShouldBreak](API\Plugins\LevelSnapshotFilters\Builtin\BlueprintOnly\UParentFilter\EShouldBreak)([ULevelSnapshotFilter](API\Plugins\LevelSnapshotFilters\ULevelSnapshotFilter) *Child)> Callback ) const


description: Removes a child from this filter

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="Level Snapshots") bool RemovedChild ( [ULevelSnapshotFilter](API\Plugins\LevelSnapshotFilters\ULevelSnapshotFilter) * Filter )


code: namespace EActorToCheck { enum Type { WorldActor, SnapshotActor, Both, } }


description: Copied from EPropertyType.

code: namespace EBlueprintPropertyType { enum Type { Byte, Int, Int64, Bool, Float, ObjectReference, Name, Interface, Struct, String, Text, WeakObjectReference, SoftObjectReference, Double, Array, Map, Set, } }


className: EShouldBreak

code: enum EShouldBreak { Continue, Break, }


className: EDoNotCareHandling

code: enum EDoNotCareHandling { UseIncludeFilter, UseExcludeFilter, UseDoNotCareFilter, }


code: namespace ENameMatchingRule { enum Type { MatchesExactly, MatchesIgnoreCase, ContainsExactly, ContainsIgnoreCase, } }


code: namespace ETagCheckingBehavior { enum Type { HasAllTags, HasAnyTag, } }


code: namespace ETransformReturnType { enum Type { IsValidWhenTransformChanged, IsValidWhenTransformStayedSame, } }


description: Whether the actor should be considered for the level snapshot.


code: virtual [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) IsAddedActorValid ( const [FIsAddedActorValidParams](API\Plugins\LevelSnapshotFilters\FIsAddedActorValidParams) & Params ) const


className: UPropertySelectorFilter

description: Base class for filters that only implement IsActorValid

DefaultResult

type: TEnumAsByte<EF...

description: What to return for IsActorValid, IsDeletedActorValid, and IsAddedActorValid


description: Whether this property should be considered for rolling back to the version in the snapshot.


className: UTransformPropertyFilter

description: Allows you to filter location, rotation, and scale properties on scene components. Use case: You want to restore the location but not rotation of an actor.

Location

description: Should the location property be restored?

Rotation

description: Should the rotation property be restored?

Scale

description: Should the scale property be restored?


className: UActorChangedTransformFilter

description: Allows an actor depending on whether the actors' transforms have changed. Use case: You want detect whether an actor has changed its transform.


code: virtual [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) IsActorValid ( const [FIsActorValidParams](API\Plugins\LevelSnapshotFilters\FIsActorValidParams) & Params ) const


className: UActorDependentPropertyFilter

description: Use case: You want to allow certain properties when another filters would include the actor and allow different properties when excluded.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UActorDependentPropertyFilter : public [ULevelSnapshotFilter](API\Plugins\LevelSnapshotFilters\ULevelSnapshotFilter)

ActorFilter

type: TObjectPtr<ULe...

description: We run IsActorValid on this filter.

DoNotCareHandling

type: EDoNotCareHandl...

description: Determines what filter IsPropertyValid is supposed to use when IsActorValid returns DoNotCare.

DoNotCarePropertyFilter

description: Used by IsPropertyValid when ActorFilter->IsActorValid returns DoNotCare and DoNotCareHandling == UseDoNotCareFilter.

ExcludePropertyFilter

description: Used by IsPropertyValid when ActorFilter->IsActorValid returns Exclude

IncludePropertyFilter

description: Used by IsPropertyValid when ActorFilter->IsActorValid returns Include


className: UActorHasTagFilter

description: Allows an actor if it has all or any of the specified tags.


description:
This is called when an actor was removed from the world since the snapshot had been taken.
Whether to track the removed actor

code: virtual [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) IsDeletedActorValid ( const [FIsDeletedActorValidParams](API\Plugins\LevelSnapshotFilters\FIsDeletedActorValidParams) & Params ) const


className: UActorInMapFilter

description: Allows an actor if it belongs to the specified map.


description: Whether the property in LevelActor should be overriden with the value in SnapshotActor.

code: virtual [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) IsPropertyValid ( const [FIsPropertyValidParams](API\Plugins\LevelSnapshotFilters\FIsPropertyValidParams) & Params ) const


className: UConstantFilter

description: Filter which treats all actors the same.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UConstantFilter : public [ULevelSnapshotFilter](API\Plugins\LevelSnapshotFilters\ULevelSnapshotFilter)


code: static [ULambdaFilter](API\Plugins\LevelSnapshotFilters\Builtin\ULambdaFilter) * Create ( [FIsActorValid](API\Plugins\LevelSnapshotFilters\Builtin\ULambdaFilter\FIsActorValid) IsActorValid, [FIsPropertyValid](API\Plugins\LevelSnapshotFilters\Builtin\ULambdaFilter\FIsPropertyValid) IsPropertyValid, [FIsDeletedActorValid](API\Plugins\LevelSnapshotFilters\Builtin\ULambdaFilter\FIsDeletedActorValid) IsDeletedActorValid, [FIsAddedActorValid](API\Plugins\LevelSnapshotFilters\Builtin\ULambdaFilter\FIsAddedActorValid) IsAddedActorValid, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer, [FName](API\Runtime\Core\UObject\FName) Name, EObjectFlags ObjectFlags )


className: FIsDeletedActorValid


className: ULambdaFilter

description: Utility filter for native C++ filters.

IsActorValidCallback

type: FIsActorValid

IsAddedActorValidCallback

type: FIsAddedActorVa...

IsDeletedActorValidCallback

type: FIsDeletedActor...

IsPropertyValidCallback

type: FIsPropertyVali...


className: UPropertyHasNameFilter

description: Allows a property when is has a certain name Use case: You only want to allow properties named "MyPropertyName"


code: namespace EFilterResult { static bool EFilterResult::CanInclude ( [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) Type ) }


className: UPropertyTypeFilter

description: Use case: You want to include only int properties.


code: namespace EFilterResult { static bool EFilterResult::CanNegate ( [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) Type ) }


code: namespace EFilterResult { static [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) EFilterResult::Negate ( [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) Type ) }


code: namespace EFilterResult { static bool EFilterResult::ShouldInclude ( [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) Type ) }


code: namespace EFilterResult { enum Type { Include, Exclude, DoNotCare, } }


code: FIsActorValidParams()


className: FIsActorValidParams

LevelActor

type: TObjectPtr<AAc...

description: The actor equivalent to LevelActor: it exists in the world

SnapshotActor

description: The actor saved in the snapshot


code: FIsAddedActorValidParams ( [AActor](API\Runtime\Engine\GameFramework\AActor) * NewActor )


code: FIsActorValidParams ( [AActor](API\Runtime\Engine\GameFramework\AActor) * InSnapshotActor, [AActor](API\Runtime\Engine\GameFramework\AActor) * InLevelActor )


code: FIsAddedActorValidParams()


className: FIsAddedActorValidParams

NewActor

description: This actor was added to the level since the snapshot was taken.


code: FIsAddedComponentValidParams()


code: FIsAddedComponentValidParams ( [UActorComponent](API\Runtime\Engine\Components\UActorComponent) * AddedComponent )


className: FIsAddedComponentValidParams

AddedComponent

type: TObjectPtr<UAc...

description: This component was added to the actor. This is an instance in the editor world.


code: FIsDeletedActorValidParams()


code: FIsDeletedActorValidParams ( [FSoftObjectPath](API\Runtime\CoreUObject\UObject\FSoftObjectPath) SavedActorPath, [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< [AActor](API\Runtime\Engine\GameFramework\AActor) *(const [FSoftObjectPath](API\Runtime\CoreUObject\UObject\FSoftObjectPath) &)> HelperForDeserialization )


className: FIsDeletedActorValidParams

HelperForDeserialization

type: TFunction<AAct...

description: Helper property for deserializing SavedActorPath.

SavedActorPath

type: FSoftObjectPath

description: Holds path info for an actor that was deleted since the snapshot was taken.


code: FIsDeletedComponentValidParams ( [UActorComponent](API\Runtime\Engine\Components\UActorComponent) * DeletedComponent, [AActor](API\Runtime\Engine\GameFramework\AActor) * EditorActor )


code: FIsDeletedComponentValidParams()


className: FIsDeletedComponentValidParams

DeletedComponent

description: This component was removed from the actor.

EditorActor

description: The actor the component was removed from; This instance exists in the editor world.


code: FIsPropertyValidParams()


code: FIsPropertyValidParams ( [AActor](API\Runtime\Engine\GameFramework\AActor) * InSnapshotActor, [AActor](API\Runtime\Engine\GameFramework\AActor) * InLevelActor, const [FPropertyContainerHandle](API\Plugins\LevelSnapshotFilters\FPropertyContainerHandle) & InSnapshotPropertyContainer, const [FPropertyContainerHandle](API\Plugins\LevelSnapshotFilters\FPropertyContainerHandle) & InLevelPropertyContainers, const [TFieldPath](API\Runtime\CoreUObject\UObject\TFieldPath)< [FProperty](API\Runtime\CoreUObject\UObject\FProperty) > & InProperty, const [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & InPropertyPath )


className: FIsPropertyValidParams

LevelPropertyContainers

type: FPropertyContai...

description: For passing toFProperty::ContainerPtrToValuePtr.

Property

type: TFieldPath<FPr...

description: The property that we may want to rollback.

PropertyPath

type: TArray<FString...

description: Each elements is the name of a subobject name leading to this property.

SnapshotActor

description: The actor saved in the snapshot


className: FLevelSnapshotFiltersModule

code: class FLevelSnapshotFiltersModule : public [IModuleInterface](API\Runtime\Core\Modules\IModuleInterface)


code: FPropertyContainerHandle()


code: FPropertyContainerHandle ( void * InPropertyContainerPtr )


className: FPropertyContainerHandle

description: Blueprint wrapper forFPropertycontainers

PropertyContainerPtr

type: void *

description: Pass this to FProperty::ContainerPtrToValuePtr(PropertyContainer). Never null.


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="Level Snapshots") static [ULevelSnapshotFilter](API\Plugins\LevelSnapshotFilters\ULevelSnapshotFilter) * CreateFilterByClass ( const [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [ULevelSnapshotFilter](API\Plugins\LevelSnapshotFilters\ULevelSnapshotFilter) > & Class, [FName](API\Runtime\Core\UObject\FName) Name, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer )


className: UFilterBlueprintFunctionLibrary


description: Whether the actor should be considered for the level snapshot.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintNativeEvent, BlueprintCallable, Category="Level Snapshots") virtual [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) IsActorValid ( const [FIsActorValidParams](API\Plugins\LevelSnapshotFilters\FIsActorValidParams) & Params ) const


description: Called before the module is unloaded, right before the module object is destroyed. During normal shutdown, this is called in reverse order that modules finishStartupModule(). This means that, as long as a module references dependent modules in it'sStartupModule(), it can safely reference those dependencies inShutdownModule()as well.

code: virtual void ShutdownModule()


description:
This is called when an actor was added to the world since the snapshot had been taken.
Whether to track the added actor

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintNativeEvent, BlueprintCallable, Category="Level Snapshots") virtual [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) IsAddedActorValid ( const [FIsAddedActorValidParams](API\Plugins\LevelSnapshotFilters\FIsAddedActorValidParams) & Params ) const


description: IModuleInterfaceimplementation

code: virtual void StartupModule()


description:
This is called when a component was added to the world since the snapshot had been taken.
Whether to track the added component

code: virtual [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) IsAddedComponentValid ( const [FIsAddedComponentValidParams](API\Plugins\LevelSnapshotFilters\FIsAddedComponentValidParams) & Params ) const


description:
This is called when an actor was removed from the world since the snapshot had been taken.
Whether to track the removed actor

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintNativeEvent, BlueprintCallable, Category="Level Snapshots") virtual [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) IsDeletedActorValid ( const [FIsDeletedActorValidParams](API\Plugins\LevelSnapshotFilters\FIsDeletedActorValidParams) & Params ) const


description:
This is called when a component was removed from an actor since the snapshot had been taken.
Whether to track the removed component

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintNativeEvent, BlueprintCallable, Category="Level Snapshots") virtual [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) IsDeletedComponentValid ( const [FIsDeletedComponentValidParams](API\Plugins\LevelSnapshotFilters\FIsDeletedComponentValidParams) & Params ) const


description: Whether this property should be considered for rolling back to the version in the snapshot.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintNativeEvent, BlueprintCallable, Category="Level Snapshots") virtual [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) IsPropertyValid ( const [FIsPropertyValidParams](API\Plugins\LevelSnapshotFilters\FIsPropertyValidParams) & Params ) const


className: ULevelSnapshotBlueprintFilter

description: Base-class for filtering a level snapshot in Blueprints.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Abstract, Blueprintable) class ULevelSnapshotBlueprintFilter : public [ULevelSnapshotFilter](API\Plugins\LevelSnapshotFilters\ULevelSnapshotFilter)


code: virtual [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) IsAddedActorValid ( const [FIsAddedActorValidParams](API\Plugins\LevelSnapshotFilters\FIsAddedActorValidParams) & Params ) const


description: Whether this actor should be considered when applying a snapshot to the world.

code: virtual [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) IsActorValid ( const [FIsActorValidParams](API\Plugins\LevelSnapshotFilters\FIsActorValidParams) & Params ) const


code: virtual [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) IsDeletedActorValid ( const [FIsDeletedActorValidParams](API\Plugins\LevelSnapshotFilters\FIsDeletedActorValidParams) & Params ) const


code: virtual [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) IsDeletedComponentValid ( const [FIsDeletedComponentValidParams](API\Plugins\LevelSnapshotFilters\FIsDeletedComponentValidParams) & Params ) const


description: Whether the property in LevelActor should be overriden with the value in SnapshotActor.

code: virtual [EFilterResult::Type](API\Plugins\LevelSnapshotFilters\EFilterResult__Type) IsPropertyValid ( const [FIsPropertyValidParams](API\Plugins\LevelSnapshotFilters\FIsPropertyValidParams) & Params ) const


className: ULevelSnapshotFilter

description: Base-class for filtering a level snapshot. Native C++ classes should inherit directly from this class.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Abstract, BlueprintType, EditInlineNew) class ULevelSnapshotFilter : public [UObject](API\Runtime\CoreUObject\UObject\UObject)


description: Gets only the property name of a property.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="Level Snapshots") static [FString](API\Runtime\Core\Containers\FString) GetPropertyName ( const [TFieldPath](API\Runtime\CoreUObject\UObject\TFieldPath)< [FProperty](API\Runtime\CoreUObject\UObject\FProperty) > & Property )


description: Returns a path containing information which class declare the property.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="Level Snapshots") static [FString](API\Runtime\Core\Containers\FString) GetPropertyOriginPath ( const [TFieldPath](API\Runtime\CoreUObject\UObject\TFieldPath)< [FProperty](API\Runtime\CoreUObject\UObject\FProperty) > & Property )


description: Loads the actor identified by Params. You can use this for advanced filter queries.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="Level Snapshots") [AActor](API\Runtime\Engine\GameFramework\AActor) * LoadSnapshotActor ( const [FIsDeletedActorValidParams](API\Plugins\LevelSnapshotFilters\FIsDeletedActorValidParams) & Params )


className: UPropertyBlueprintFunctionLibrary


className: ECachedDiffResult

module: LevelSnapshots

code: enum ECachedDiffResult { NotInitialized, HadChanges, HadNoChanges, }


className: ESnapshotClassFlags

code: enum ESnapshotClassFlags { NoFlags = 0x00000000, SerializationSkippedArchetypeData = 0x00000001, }


className: FActorSnapshotCache

bReceivedSerialisation

description: Whether we already serialised the snapshot data into the actor.

CachedSnapshotActor

type: TWeakObjectPtr<...

ObjectDependencies

type: TArray< int32 >

description: Stores all object dependencies. Only valid if bReceivedSerialisation == true.


description: "Type safety" for better self-documenting code


className: FClassDataIndex

description: An index toFWorldSnapshotData::ClassData.

code: typedef uint32 FClassDataIndex


className: FActorSnapshotData

description: Holds saved actor data. See ActorUtil for operations.

ActorLabel

type: FString

description: The label of the actor when it was saved.

ClassIndex

description: Valid index toFWorldSnapshotData::ClassData.

ComponentData

type: TMap< int32,FC...

description: Additional component recreation info

CustomActorSerializationData

type: FCustomSerializ...

description: Data that was generated by some ICustomObjectSnapshotSerializer.

Hash

type: FActorSnapshotH...

description: Used to detect changes without loading actor into memory.

OwnedSubobjects

description: Tracks all non-component subobjects.

SerializedActorData

type: FObjectSnapshot...

description: The actor's serialized data


className: FClassDefaultObjectSnapshotData

description: We save the CDO of every object to save space. This holds the CDO's saved data.

code: [USTRUCT](Programming/UnrealArchitecture/Reference/Structs)() struct FClassDefaultObjectSnapshotData : public [FObjectSnapshotData](API\Plugins\LevelSnapshots\Data\FObjectSnapshotData)

bSerializationSkippedCDO

type: bool

description: Whether no data was saved because somebody called ILevelSnapshotsModule::AddSkippedClassDefault


className: FClassDefaultSnapshotCache

CachedLoadedClassDefault

type: TObjectPtr<UOb...


code: EObjectFlags GetClassFlags() const


className: FComponentSnapshotData

CreationMethod

type: EComponentCreat...

description: Describes how the component was created


className: FClassSnapshotData

description: Holds class information for a specific use of a class. Usually it holds the class archetype. Actor classes have exactly one instance ofFClassSnapshotData. Subobjects can have multiple instances ofFClassSnapshotData; in actors each subobject has its own archetype.

code: [USTRUCT](Programming/UnrealArchitecture/Reference/Structs)() struct FClassSnapshotData : public [FObjectSnapshotData](API\Plugins\LevelSnapshots\Data\FObjectSnapshotData)

ClassFlags

description: Flags of ClassPath, i.e. the class whose archetype was serialized

ClassPath

type: FSoftClassPath

description: The class getting saved.

SnapshotFlags

type: ESnapshotClassF...

description: Special flags about this class


className: FCustomSerializationData

RootAnnotationData

type: TArray< uint8 >

description: Additional custom data saved by ICustomSnapshotSerializationData

Subobjects

type: TArray<FCustom...

description: Data for all subobjects


code: EObjectFlags GetObjectFlags() const


className: FCustomSubbjectSerializationData

code: [USTRUCT](Programming/UnrealArchitecture/Reference/Structs)() struct FCustomSubbjectSerializationData : public [FObjectSnapshotData](API\Plugins\LevelSnapshots\Data\FObjectSnapshotData)

ObjectPathIndex

description: Valid index toFWorldSnapshotData::SerializedObjectReferences


className: FObjectSnapshotData

description: Shared data all saved objects in Level Snapshots have.

ObjectFlags

description: Flags of the object that was serialized


className: GUID

code: static const [FGuid](API\Runtime\Core\Misc\FGuid) GUID;


className: Type

code: enum Type { BeforeCustomVersionWasAdded = 0, SubobjectSupport = 1, ActorHash = 2, ClassArchetypeRefactor = 3, OoddleCompression = 4, CustomSubobjectSoftObjectPathRefactor = 5, SkipSubobjectReferencesWhenSerializingArchetypesRefactor = 6, NonEditableComponentsAreCaptured = 7, FixActorHashSerialize = 8, FoliageTypesUnreadable = 9, VersionPlusOne, LatestVersion = VersionPlusOne - 1, }


className: FSnapshotCustomVersion

description: No constructors are accessible with public or protected access.

code: struct FSnapshotCustomVersion


description: Initialize this version info from the given version

code: void Initialize ( const [FCustomVersion](API\Runtime\Core\Serialization\FCustomVersion) & InVersion )


className: FSnapshotCustomVersionInfo

description: Holds custom version information

FriendlyName

type: FName

description: Friendly name of the version

Key

type: FGuid

description: Unique custom key

Version

description: Custom version


code: void InitFor ( const [FWorldSnapshotData](API\Plugins\LevelSnapshots\Data\FWorldSnapshotData) & SnapshotData )


className: FSnapshotDataCache

description: Caches data for re-use.

ActorCache

type: TMap<FSoftObje...

ArchetypeObjects

type: TArray<TObject...

description: Caches each archetype object for faster lookup.

FallbackArchetypeData

type: TArray<TOption...

description: Fallback for ClassData.


code: void Initialize ( const [FEngineVersion](API\Runtime\Core\Misc\FEngineVersion) & InVersion )


description: Initialize this version info from the compiled in data

code: void Initialize()


className: FSnapshotEngineVersionInfo

description: Holds engine version information

Changelist

description: Changelist number. This is used to arbitrate when Major/Minor/Patch version numbers match

Major

description: Major version number

Minor

description: Minor version number

Patch

description: Patch version number


code: void ApplyToArchive ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Archive ) const


description: The saved version for this plugin or -1 if none is available.

code: int32 GetSnapshotCustomVersion() const


code: void Initialize ( bool bWithoutSnapshotVersion )


className: FSnapshotFileVersionInfo

description: Holds file version information

FileVersionLicensee

description: Licensee file version

description: UE4 File version

description: UE5 File version


description: "Type safety" for better self-documenting code


className: FSubobjectSnapshotData

description: Data saved for subobjects, such as components.

code: [USTRUCT](Programming/UnrealArchitecture/Reference/Structs)() struct FSubobjectSnapshotData : public [FObjectSnapshotData](API\Plugins\LevelSnapshots\Data\FObjectSnapshotData)

bWasSkippedClass

description: Whether this object was marked as unsupported when the snapshot was taken

ClassIndex

description: Valid index toFWorldSnapshotData::ClassData.

OuterIndex

description: IndextoFWorldSnapshotData::SerializedObjectReferences


code: bool IsInitialized() const


className: FSnapshotVersionInfo

description: Holds version information for a session

CustomVersions

type: TArray<FSnapsh...

description: Custom version info

EngineVersion

type: FSnapshotEngine...

description: Engine version info

FileVersion

type: FSnapshotFileVe...

description: File version info


className: FSubobjectSnapshotCache

EditorObject

type: TWeakObjectPtr<...

description: Allocated in editor world

SnapshotObject

description: Allocated in snapshot world


code: void ForEachOriginalActor ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(const [FSoftObjectPath](API\Runtime\CoreUObject\UObject\FSoftObjectPath) &ActorPath, const [FActorSnapshotData](API\Plugins\LevelSnapshots\Data\FActorSnapshotData) &SavedData)> HandleOriginalActorPath ) const


code: bool HasMatchingSavedActor ( const [FSoftObjectPath](API\Runtime\CoreUObject\UObject\FSoftObjectPath) & OriginalObjectPath ) const


code: void PostSerialize ( const [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


code: bool Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


className: FWorldSnapshotData

description: Holds saved world data. See WorldDataUtil for operations.

ActorData

description: Holds serialized actor data. Maps the original actor's path to its serialized data.

ArchetypeToClassDataIndex

type: TMap<TObjectPt...

description: Binds every archetype object for which we saved the class data in ClassData to its index.

ClassData

type: TArray<FClassS...

description: Saves class info, such as archetype data, for every object's class.

CustomSubobjectSerializationData

type: TMap< int32,FC...

description: Key: A valid index to SerializedObjectReferences Value: Data that was generated by some ICustomObjectSnapshotSerializer.

NameToIndex

type: TMap<FName, in...

description: Binds every entry in SerializedNames to its index. Speeds up adding unique names.

ReferenceToIndex

description: Binds every entry in SerializedObjectReferences to its index. Speeds up adding unique references.

SerializedNames

type: TArray<FName>

description: Whenever an object needs to serialize a name, we add it to this array and serialize an index to this array.

SerializedObjectReferences

type: TArray<FSoftOb...

description: Whenever an object needs to serialize an object reference, we keep the object path here and serialize an index to this array.

SnapshotSublevels

description: Sublevels of SnapshotWorld; excludes SnapshotWorld->PersistentLevel

SnapshotVersionInfo

type: FSnapshotVersio...

description: Stores versioning information we inject into archives.

SnapshotWorld

description: The root world we will be adding deserialized snapshots actors to

Subobjects

type: TMap< int32,FS...

description: Key: A valid index to SerializedObjectReferences.


code: bool Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Archive )


className: FActorSnapshotHash

description: Every actor is hashed when it is saved so we can quickly check whether an actor has changed.

description: Crc32 hash of actor when it was snapshot.

description: How many bytes of data were in the data were used for CRC32. Used to avoid computing hash.

description: MD5 hash of actor when it was snapshot.

description: How many bytes of data were in the data were used for MD5. Used to avoid computing hash.

MicroSecondsForCrc

type: double

description: How many micro seconds it took to compute the actor CRC32 during saving.

description: How many micro seconds it took to compute the MD5 hash.


code: template<> struct TStructOpsTypeTraits< FActorSnapshotHash > : public [TStructOpsTypeTraitsBase2< FActorSnapshotHash >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


className: WithSerializer

code: enum &123; WithSerializer = true &125;


className: operator&

code: constexpr [ESnapshotClassFlags](API\Plugins\LevelSnapshots\Data\ESnapshotClassFlags) operator& ( [ESnapshotClassFlags](API\Plugins\LevelSnapshots\Data\ESnapshotClassFlags) Lhs, [ESnapshotClassFlags](API\Plugins\LevelSnapshots\Data\ESnapshotClassFlags) Rhs )


className: operator&=

code: [ESnapshotClassFlags](API\Plugins\LevelSnapshots\Data\ESnapshotClassFlags) & operator&= ( [ESnapshotClassFlags](API\Plugins\LevelSnapshots\Data\ESnapshotClassFlags) & Lhs, [ESnapshotClassFlags](API\Plugins\LevelSnapshots\Data\ESnapshotClassFlags) Rhs )


className: operator~

code: constexpr [ESnapshotClassFlags](API\Plugins\LevelSnapshots\Data\ESnapshotClassFlags) operator~ ( [ESnapshotClassFlags](API\Plugins\LevelSnapshots\Data\ESnapshotClassFlags) E )


className: operator^

code: constexpr [ESnapshotClassFlags](API\Plugins\LevelSnapshots\Data\ESnapshotClassFlags) operator^ ( [ESnapshotClassFlags](API\Plugins\LevelSnapshots\Data\ESnapshotClassFlags) Lhs, [ESnapshotClassFlags](API\Plugins\LevelSnapshots\Data\ESnapshotClassFlags) Rhs )


className: operator^=

code: [ESnapshotClassFlags](API\Plugins\LevelSnapshots\Data\ESnapshotClassFlags) & operator^= ( [ESnapshotClassFlags](API\Plugins\LevelSnapshots\Data\ESnapshotClassFlags) & Lhs, [ESnapshotClassFlags](API\Plugins\LevelSnapshots\Data\ESnapshotClassFlags) Rhs )


className: operator!

code: constexpr bool operator! ( [ESnapshotClassFlags](API\Plugins\LevelSnapshots\Data\ESnapshotClassFlags) E )


className: WithPostSerialize

code: enum &123; WithPostSerialize = true &125;


code: template<> struct TStructOpsTypeTraits< FWorldSnapshotData > : public [TStructOpsTypeTraitsBase2< FWorldSnapshotData >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


description: Applies this snapshot to the given world. We assume the world matches. SelectionSet specifies which properties to roll back.

code: void ApplySnapshotToWorld ( [UWorld](API\Runtime\Engine\Engine\UWorld) * TargetWorld, const [FPropertySelectionMap](API\Plugins\LevelSnapshots\Filtering\FPropertySelectionMap) & SelectionSet )


description: Called before destroying the object. This is called immediately upon deciding to destroy the object, to allow the object to begin an asynchronous cleanup process.

code: virtual void BeginDestroy()


description: Compares this snapshot to the world and calls the appropriate callbacks:

code: void DiffWorld ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World, [FActorPathConsumer](API\Plugins\LevelSnapshots\Data\ULevelSnapshot\FActorPathConsumer) HandleMatchedActor, [FActorPathConsumer](API\Plugins\LevelSnapshots\Data\ULevelSnapshot\FActorPathConsumer) HandleRemovedActor, [FActorConsumer](API\Plugins\LevelSnapshots\Data\ULevelSnapshot\FActorConsumer) HandleAddedActor )


code: void DiffWorld ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World, [FActorConsumer](API\Plugins\LevelSnapshots\Data\ULevelSnapshot\FActorConsumer) HandleMatchedActor, [FActorPathConsumer](API\Plugins\LevelSnapshots\Data\ULevelSnapshot\FActorPathConsumer) HandleRemovedActor, [FActorConsumer](API\Plugins\LevelSnapshots\Data\ULevelSnapshot\FActorConsumer) HandleAddedActor )


className: FActorConsumer

code: typedef TBaseDelegate_OneParam< void, [AActor](API\Runtime\Engine\GameFramework\AActor) * > FActorConsumer


className: FActorPathConsumer

code: typedef TBaseDelegate_OneParam< void, const [FSoftObjectPath](API\Runtime\CoreUObject\UObject\FSoftObjectPath) & > FActorPathConsumer


className: FSnapshotEvent

code: typedef TMulticastDelegate_NoParams< void > FSnapshotEvent


description: Gets the display label of the path of the actor. This is useful for the LS UI to display actor names, especially of removed actors.

code: [FString](API\Runtime\Core\Containers\FString) GetActorLabel ( const [FSoftObjectPath](API\Runtime\CoreUObject\UObject\FSoftObjectPath) & OriginalActorPath ) const


code: const [FSnapshotDataCache](API\Plugins\LevelSnapshots\Data\FSnapshotDataCache) & GetCache() const


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="Level Snapshots") [FDateTime](API\Runtime\Core\Misc\FDateTime) GetCaptureTime() const


description: Given an actor path in the world, gets the equivalent actor from the snapshot.

code: [TOptional](API\Runtime\Core\IO\TOptional)< [TNonNullPtr](API\Runtime\Core\Templates\TNonNullPtr)< [AActor](API\Runtime\Engine\GameFramework\AActor) > > GetDeserializedActor ( const [FSoftObjectPath](API\Runtime\CoreUObject\UObject\FSoftObjectPath) & OriginalActorPath )


description: Gets the number of actors saved by this snapshot.

code: int32 GetNumSavedActors() const


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="Level Snapshots") [FSoftObjectPath](API\Runtime\CoreUObject\UObject\FSoftObjectPath) GetMapPath() const


code: const [FWorldSnapshotData](API\Plugins\LevelSnapshots\Data\FWorldSnapshotData) & GetSerializedData() const


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="Level Snapshots") [FString](API\Runtime\Core\Containers\FString) GetSnapshotDescription() const


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="Level Snapshots") [FName](API\Runtime\Core\UObject\FName) GetSnapshotName() const


description: In most cases, this function is faster than HasOriginalChangedPropertiesSinceSnapshotWasTaken because it tries to slow calls to GetDeserializedActor by comparing hashes first.

code: bool HasChangedSinceSnapshotWasTaken ( [AActor](API\Runtime\Engine\GameFramework\AActor) * WorldActor )


description: Use this function instead of HasChangedSinceSnapshotWasTaken if you've already called GetDeserializedActor. Otherwise HasChangedSinceSnapshotWasTaken should be faster in most cases.

code: bool HasOriginalChangedPropertiesSinceSnapshotWasTaken ( [AActor](API\Runtime\Engine\GameFramework\AActor) * SnapshotActor, [AActor](API\Runtime\Engine\GameFramework\AActor) * WorldActor )


description: Clears the diff state of the actor. Designed to be called by the transaction system (or manually in non-editor builds if EnableDiffCacheSupport has been called).

code: void ResetDiffCacheToUninitialized ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > ModifiedActors )


code: void ResetDiffCacheToUninitialized ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * ModifiedObject )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="Level Snapshots") void SetSnapshotDescription ( const [FString](API\Runtime\Core\Containers\FString) & InSnapshotDescription )


description: Sets the name of this snapshot.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="Level Snapshots") void SetSnapshotName ( const [FName](API\Runtime\Core\UObject\FName) & InSnapshotName )


description: Captures the current state of the given world.

code: bool SnapshotWorld ( [UWorld](API\Runtime\Engine\Engine\UWorld) * TargetWorld )


className: ULevelSnapshot

description: Holds the state of a world at a given time. This asset can be used to rollback certain properties in aUWorld.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(BlueprintType) class ULevelSnapshot : public [UObject](API\Runtime\CoreUObject\UObject\UObject)


className: FAddedAndRemovedComponentInfo

description: Holds all properties that should be restored for an object.

code: struct FAddedAndRemovedComponentInfo

EditorWorldComponentsToRemove

type: TSet<TWeakObje...

description: New components added to the actor after the snapshot was taken.

SnapshotComponentsToAdd

description: Components that were removed from the actor after the snapshot was taken.


code: void AppendInline ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property )


description: Checks whether a given property being serialized corresponds to this chain.

code: bool EqualsSerializedProperty ( const [FArchiveSerializedPropertyChain](API\Runtime\Core\Serialization\FArchiveSerializedPropertyChain) * ContainerChain, const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * LeafProperty ) const


className: FCustomSubobjectRestorationInfo

code: struct FCustomSubobjectRestorationInfo

CustomSnapshotSubobjectsToRestore

description: Subobjects from snapshot world which were discovered usingICustomObjectSnapshotSerializer.


description: Returns anFLevelSnapshotPropertyChaingiven a leaf property and aUScriptStructorUClass.

code: static [TOptional](API\Runtime\Core\IO\TOptional)< [FLevelSnapshotPropertyChain](API\Plugins\LevelSnapshots\Filtering\FLevelSnapshotPropertyChain) > FindPathToProperty ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * InLeafProperty, const [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * InStructToSearch, const bool bIncludeLeafPropertyInChain )


code: [FLevelSnapshotPropertyChain](API\Plugins\LevelSnapshots\Filtering\FLevelSnapshotPropertyChain) MakeAppended ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property ) const


code: bool operator== ( const [FLevelSnapshotPropertyChain](API\Plugins\LevelSnapshots\Filtering\FLevelSnapshotPropertyChain) & InPropertyChain ) const


code: FLevelSnapshotPropertyChain ( const [FArchiveSerializedPropertyChain](API\Runtime\Core\Serialization\FArchiveSerializedPropertyChain) * ChainToLeaf, const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * LeafProperty )


code: FLevelSnapshotPropertyChain()


code: FLevelSnapshotPropertyChain ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * RootProperty )


className: FLevelSnapshotPropertyChain

description: Primarily this is used by serialisation code hence we pass inFArchiveSerializedPropertyChainoften. However, inheritance fromFArchiveSerializedPropertyChainis an implementation detail.

code: struct FLevelSnapshotPropertyChain : public [FArchiveSerializedPropertyChain](API\Runtime\Core\Serialization\FArchiveSerializedPropertyChain)


code: void AddProperty ( const [FLevelSnapshotPropertyChain](API\Plugins\LevelSnapshots\Filtering\FLevelSnapshotPropertyChain) & SelectedProperty )


description: Gets a flat list of all selected properties. The result contains no information what nested struct a property came from.

code: const [TArray](API\Runtime\Core\Containers\TArray)< [TFieldPath](API\Runtime\CoreUObject\UObject\TFieldPath)< [FProperty](API\Runtime\CoreUObject\UObject\FProperty) > > & GetSelectedLeafProperties() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FLevelSnapshotPropertyChain](API\Plugins\LevelSnapshots\Filtering\FLevelSnapshotPropertyChain) > & GetSelectedProperties() const


description: Checks whether the given property is in this selection. When serializing, you probably want to be using ShouldSerializeProperty.

code: bool IsPropertySelected ( const [FArchiveSerializedPropertyChain](API\Runtime\Core\Serialization\FArchiveSerializedPropertyChain) * ContainerChain, const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * LeafProperty ) const


code: void RemoveProperty ( const [FArchiveSerializedPropertyChain](API\Runtime\Core\Serialization\FArchiveSerializedPropertyChain) * ContainerChain, const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * LeafProperty )


code: void RemoveProperty ( [FArchiveSerializedPropertyChain](API\Runtime\Core\Serialization\FArchiveSerializedPropertyChain) * ContainerChain )


description: As performance optimisation, we assume this function is called byFArchive::ShouldSkipProperty, i.e. ShouldSerializeProperty would return true on the elements of ContainerChain.

code: bool ShouldSerializeProperty ( const [FArchiveSerializedPropertyChain](API\Runtime\Core\Serialization\FArchiveSerializedPropertyChain) * ContainerChain, const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * LeafProperty ) const


code: void SetHasCustomSerializedSubobjects ( bool bValue )


code: FPropertySelection ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * SingleProperty )


description: Note: all properties must be root properties (i.e. not within structs or collections). Check yourself, this is not checked.

code: FPropertySelection ( const [TSet](API\Runtime\Core\Containers\TSet)< const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * > & Properties )


className: FPropertySelection

code: struct FPropertySelection


code: void AddComponentSelection ( [AActor](API\Runtime\Engine\GameFramework\AActor) * EditorWorldActor, const [UE::LevelSnapshots::FAddedAndRemovedComponentInfo](API\Plugins\LevelSnapshots\Filtering\FAddedAndRemovedComponentInfo) & ComponentSelection )


description: Respawn the actor from the data in the snapshot.

code: void AddDeletedActorToRespawn ( const [FSoftObjectPath](API\Runtime\CoreUObject\UObject\FSoftObjectPath) & Original )


description: Destroy the given actors when a snapshot is applied.

code: void AddNewActorToDespawn ( [AActor](API\Runtime\Engine\GameFramework\AActor) * WorldActor )


description: Recreate a Custom subobject that exists in snapshot world but is missing from editor world. Used for subobjects discovered via ICustomObjectSnapshotSerializer

code: void AddCustomEditorSubobjectToRecreate ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * EditorWorldOwner, [UObject](API\Runtime\CoreUObject\UObject\UObject) * SnapshotSubobject )


description: Binds properties to an object which are supposed to be rolled back.

code: bool AddObjectProperties ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldObject, const [FPropertySelection](API\Plugins\LevelSnapshots\Filtering\FPropertySelection) & SelectedProperties )


code: void Empty ( bool bCanShrink )


code: void ForEachModifiedObject ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(const [FSoftObjectPath](API\Runtime\CoreUObject\UObject\FSoftObjectPath) &)> Callback ) const


code: const [TSet](API\Runtime\Core\Containers\TSet)< [FSoftObjectPath](API\Runtime\CoreUObject\UObject\FSoftObjectPath) > & GetDeletedActorsToRespawn() const


description: Gets the direct subobjects of root that have selected properties. You can recursively call this function with the element of the result array.

code: [TArray](API\Runtime\Core\Containers\TArray)< [UObject](API\Runtime\CoreUObject\UObject\UObject) * > GetDirectSubobjectsWithProperties ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Root ) const


code: [TArray](API\Runtime\Core\Containers\TArray)< [FSoftObjectPath](API\Runtime\CoreUObject\UObject\FSoftObjectPath) > GetKeys() const


code: const [TSet](API\Runtime\Core\Containers\TSet)< [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [AActor](API\Runtime\Engine\GameFramework\AActor) > > & GetNewActorsToDespawn() const


code: [UE::LevelSnapshots::FRestorableObjectSelection](API\Plugins\LevelSnapshots\Filtering\FRestorableObjectSelection) GetObjectSelection ( const [FSoftObjectPath](API\Runtime\CoreUObject\UObject\FSoftObjectPath) & EditorWorldObject ) const


code: bool HasAnyModifiedActors() const


code: bool HasChanges ( [AActor](API\Runtime\Engine\GameFramework\AActor) * EditorWorldActor ) const


code: bool HasChanges ( [UActorComponent](API\Runtime\Engine\Components\UActorComponent) * EditorWorldComponent ) const


description: See SnapshotUtil::Object::ResolveObjectDependencyForEditorWorld for more info.

code: void MarkSubobjectForRestoringReferencesButSkipProperties ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldSubbject )


code: bool HasChanges ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * EditorWorldObject ) const


code: bool IsSubobjectMarkedForReferenceRestorationOnly ( const [FSoftObjectPath](API\Runtime\CoreUObject\UObject\FSoftObjectPath) & WorldSubobjectPath ) const


code: void RemoveCustomEditorSubobjectToRecreate ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * EditorWorldOwner, [UObject](API\Runtime\CoreUObject\UObject\UObject) * SnapshotSubobject )


code: void RemoveComponentSelection ( [AActor](API\Runtime\Engine\GameFramework\AActor) * EditorWorldActor )


code: void RemoveDeletedActorToRespawn ( const [FSoftObjectPath](API\Runtime\CoreUObject\UObject\FSoftObjectPath) & Original )


code: void RemoveNewActorToDespawn ( [AActor](API\Runtime\Engine\GameFramework\AActor) * WorldActor )


className: FPropertySelectionMap

description: Binds an object to its selected properties

code: struct FPropertySelectionMap


code: void RemoveObjectPropertiesFromMap ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldObject )


code: const [FCustomSubobjectRestorationInfo](API\Plugins\LevelSnapshots\Filtering\FCustomSubobjectRestorationInfo) * GetCustomSubobjectSelection() const


className: FRestorableObjectSelection

description: No constructors are accessible with public or protected access.

code: class FRestorableObjectSelection


code: const [FAddedAndRemovedComponentInfo](API\Plugins\LevelSnapshots\Filtering\FAddedAndRemovedComponentInfo) * GetComponentSelection() const


code: const [FPropertySelection](API\Plugins\LevelSnapshots\Filtering\FPropertySelection) * GetPropertySelection() const


description: Event data is extracted to structs so event delegate signature does not need to be modified in the future. Please follow this pattern when you add new events.

Snapshot

type: TObjectPtr<ULe...

description: The affected snapshot


code: FLogCategoryLogLevelSnapshots()


className: FLogCategoryLogLevelSnapshots

code: struct FLogCategoryLogLevelSnapshots : public [FLogCategory< ELogVerbosity::Log, ELogVerbosity::All >](API\Runtime\Core\Logging\FLogCategory)


className: FPostTakeSnapshotEventData

code: struct FPostTakeSnapshotEventData

type: ULevelSnapshot...

World

type: UWorld*


className: FPreTakeSnapshotEventData

code: struct FPreTakeSnapshotEventData


description: Add a named delegate that determines if we can take a snapshot.

code: void AddCanTakeSnapshotDelegate ( [FName](API\Runtime\Core\UObject\FName) DelegateName, [FCanTakeSnapshot](API\Plugins\LevelSnapshots\ILevelSnapshotsModule\FCanTakeSnapshot) Delegate )


description: Adds properties that snapshots will capture and restore from now on. This allows support for properties that are skipped by default. Important: Only add add native properties; Blueprint properties may be invalidated (and left dangeling) when recompiled.

code: void AddExplicitilySupportedProperties ( const [TSet](API\Runtime\Core\Containers\TSet)< const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * > & Properties )


description: Note: Level Snapshots will no longer detect changes made to the class default values of skipped classes.

code: void AddSkippedClassDefault ( const [UClass](API\Runtime\CoreUObject\UObject\UClass) * Class )


description: Stops snapshots from capturing / restoring these properties. Important: Only add add native properties; Blueprint properties may be invalidated (and left dangeling) when recompiled.

code: void AddExplicitlyUnsupportedProperties ( const [TSet](API\Runtime\Core\Containers\TSet)< const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * > & Properties )


description: Snapshots will no longer capture nor restore subobjects of this class. Subclasses are implicitly skipped as well.

code: void AddSkippedSubobjectClasses ( const [TSet](API\Runtime\Core\Containers\TSet)< [UClass](API\Runtime\CoreUObject\UObject\UClass) * > & Classes )


description: Queries the attached snapshot delegate and determines if we can take a snapshot.

code: bool CanTakeSnapshot ( const [FPreTakeSnapshotEventData](API\Plugins\LevelSnapshots\FPreTakeSnapshotEventData) & Event ) const


className: FPostTakeSnapshotEvent

code: class FPostTakeSnapshotEvent : public TBaseMulticastDelegate_OneParam< void, const FPostTakeSnapshotEventData & >


className: FCanTakeSnapshot

code: typedef TBaseDelegate_OneParam< bool, const [FPreTakeSnapshotEventData](API\Plugins\LevelSnapshots\FPreTakeSnapshotEventData) & > FCanTakeSnapshot


code: static [ILevelSnapshotsModule](API\Plugins\LevelSnapshots\ILevelSnapshotsModule) & Get()


className: FPreTakeSnapshotEvent

code: class FPreTakeSnapshotEvent : public TBaseMulticastDelegate_OneParam< void, const FPreTakeSnapshotEventData & >


description: Called after a snapshot is taken


description: Called before a snapshot is taken.


description: Registers callbacks for snapshotting / restoring certain classes. There can only be one per class. The typical use case using Level Snapshots for restoring subobjects you want recreate / find manually.

code: void RegisterCustomObjectSerializer ( [UClass](API\Runtime\CoreUObject\UObject\UClass) * Class, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [ICustomObjectSnapshotSerializer](API\Plugins\LevelSnapshots\Restorability\Interfaces\ICustomObjectSna-) > CustomSerializer, bool bIncludeBlueprintChildClasses )


description: Registers callbacks for external systems to decide whether a given actor can be modified, recreated, or removed from the world.

code: void RegisterGlobalActorFilter ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [IActorSnapshotFilter](API\Plugins\LevelSnapshots\Restorability\Interfaces\IActorSnapshotFilter) > Filter )


description: Registers a callback for deciding whether a property should be considered changed. Applies to all sub-classes.

code: void RegisterPropertyComparer ( [UClass](API\Runtime\CoreUObject\UObject\UClass) * Class, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [IPropertyComparer](API\Plugins\LevelSnapshots\Restorability\Interfaces\IPropertyComparer) > Comparer )


description: Registers an object that will receive callbacks when a snapshot is applied.

code: void RegisterRestorationListener ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [IRestorationListener](API\Plugins\LevelSnapshots\Restorability\Interfaces\IRestorationListener) > Listener )


description: Registers callbacks that override which actors, components, and properties are restored by default.

code: void RegisterRestorabilityOverrider ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [ISnapshotRestorabilityOverrider](API\Plugins\LevelSnapshots\Restorability\Interfaces\ISnapshotRestora-) > Overrider )


description: Registers an object that can decide to display additional properties to the user that default snapshot behaviour does not display.

code: void RegisterSnapshotFilterExtender ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [ISnapshotFilterExtender](API\Plugins\LevelSnapshots\Restorability\Interfaces\ISnapshotFilterExtender) > Extender )


description: Registers an object that listens for when objects are snapshot.

code: void RegisterTakeSnapshotListener ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [ITakeSnapshotListener](API\Plugins\LevelSnapshots\Restorability\Interfaces\ITakeSnapshotListener) > Extender )


description: Register an object that will receive callbacks when a snapshot is loaded

code: void RegisterSnapshotLoader ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [ISnapshotLoader](API\Plugins\LevelSnapshots\Restorability\Interfaces\ISnapshotLoader) > Loader )


code: void RemoveAdditionallySupportedProperties ( const [TSet](API\Runtime\Core\Containers\TSet)< const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * > & Properties )


code: void RemoveExplicitlyUnsupportedProperties ( const [TSet](API\Runtime\Core\Containers\TSet)< const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * > & Properties )


code: void RemoveSkippedClassDefault ( const [UClass](API\Runtime\CoreUObject\UObject\UClass) * Class )


description: Remove previously added named delegate that determines if we can take a snapshot.

code: void RemoveCanTakeSnapshotDelegate ( [FName](API\Runtime\Core\UObject\FName) DelegateName )


code: void RemoveSkippedSubobjectClasses ( const [TSet](API\Runtime\Core\Containers\TSet)< [UClass](API\Runtime\CoreUObject\UObject\UClass) * > & Classes )


code: bool ShouldSkipClassDefaultSerialization ( const [UClass](API\Runtime\CoreUObject\UObject\UClass) * Class ) const


code: void UnregisterCustomObjectSerializer ( [UClass](API\Runtime\CoreUObject\UObject\UClass) * Class )


code: void UnregisterPropertyComparer ( [UClass](API\Runtime\CoreUObject\UObject\UClass) * Class, const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [IPropertyComparer](API\Plugins\LevelSnapshots\Restorability\Interfaces\IPropertyComparer) > & Comparer )


description: Unregisters an overrider previously registered.

code: void UnregisterRestorabilityOverrider ( const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [ISnapshotRestorabilityOverrider](API\Plugins\LevelSnapshots\Restorability\Interfaces\ISnapshotRestora-) > & Overrider )


code: void UnregisterRestorationListener ( const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [IRestorationListener](API\Plugins\LevelSnapshots\Restorability\Interfaces\IRestorationListener) > & Listener )


code: void UnregisterSnapshotLoader ( const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [ISnapshotLoader](API\Plugins\LevelSnapshots\Restorability\Interfaces\ISnapshotLoader) > & Loader )


code: void UnregisterGlobalActorFilter ( const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [IActorSnapshotFilter](API\Plugins\LevelSnapshots\Restorability\Interfaces\IActorSnapshotFilter) > & Filter )


code: void UnregisterTakeSnapshotListener ( const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [ITakeSnapshotListener](API\Plugins\LevelSnapshots\Restorability\Interfaces\ITakeSnapshotListener) > & Listener )


className: ILevelSnapshotsModule

code: class ILevelSnapshotsModule : public [IModuleInterface](API\Runtime\Core\Modules\IModuleInterface)

PostTakeSnapshot

type: FPostTakeSnapsh...

PreTakeSnapshot

type: FPreTakeSnapsho...


code: void UnregisterSnapshotFilterExtender ( const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [ISnapshotFilterExtender](API\Plugins\LevelSnapshots\Restorability\Interfaces\ISnapshotFilterExtender) > & Listener )


description: Should this actor be visible to the snapshot system?

code: virtual [ERestorabilityOverride](API\Plugins\LevelSnapshots\Restorability\Interfaces\ISnapshotRestora-\ERestorabilityOv-) IsActorDesirableForCapture ( const [AActor](API\Runtime\Engine\GameFramework\AActor) * Actor )


className: FGetSkippedClassList

code: typedef TBaseDelegate_NoParams< const [FSkippedClassList](API\Plugins\LevelSnapshots\Settings\FSkippedClassList) & > FGetSkippedClassList


description: Should this component be visible to the snapshot system?

code: virtual [ERestorabilityOverride](API\Plugins\LevelSnapshots\Restorability\Interfaces\ISnapshotRestora-\ERestorabilityOv-) IsComponentDesirableForCapture ( const [UActorComponent](API\Runtime\Engine\Components\UActorComponent) * Component )


className: FClassRestorationSkipper

description: Disallows provided classes. Uses callback to obtain class list so the logic is reusable outside the module.


code: FApplySnapshotPropertiesParams ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object, const [FPropertySelectionMap](API\Plugins\LevelSnapshots\Filtering\FPropertySelectionMap) & SelectedProperties, [TOptional](API\Runtime\Core\IO\TOptional)< const [FPropertySelection](API\Plugins\LevelSnapshots\Filtering\FPropertySelection) * > PropertySelection, bool bWasRecreated )


className: FApplySnapshotPropertiesParams

code: struct FApplySnapshotPropertiesParams

bWasRecreated

type: bool

description: Whether Object did not yet exist in the world and was recreated

Object

type: UObject*

description: The object that receives serialized data.

PropertySelection

type: TOptional< cons...

description: Only valid when bWasRecreated = false

SelectedProperties

type: constFProperty...

description: All of the user's selected properties


code: FApplySnapshotSharedParams ( [ULevelSnapshot](API\Plugins\LevelSnapshots\Data\ULevelSnapshot) & LevelSnapshot, const [FPropertySelectionMap](API\Plugins\LevelSnapshots\Filtering\FPropertySelectionMap) & SelectedProperties )


className: FApplySnapshotSharedParams


code: FApplySnapshotToActorParams ( [AActor](API\Runtime\Engine\GameFramework\AActor) * Actor, const [FPropertySelectionMap](API\Plugins\LevelSnapshots\Filtering\FPropertySelectionMap) & SelectedProperties, bool bWasRecreated )


className: FCanModifyMatchedActorParams

description: Params for deciding whether an existing actor should have its properties modified.

code: struct FCanModifyMatchedActorParams

MatchedEditorWorldActor

type: AActor&

description: The actor in the editor world which is being considered for restoration.

WorldData

type: constFWorldSna...

description: All world data of the snapshot


className: FApplySnapshotToActorParams

code: struct FApplySnapshotToActorParams

Actor

type: AActor*

description: The actor that is modified

SelectedProperties

description: All of the user's selected properties


className: FCanRecreateActorParams

description: Params for deciding whether an actor should be recreated

code: struct FCanRecreateActorParams

ActorPath

type: FSoftObjectPath

description: The object path of the actor

Class

type: UClass*

description: The actor's class

DeserializeFromSnapshotFunc

type: FDeserializedAc...

description: If you need access to the actor's data, you can call this function.

EditorWorld

description: The world the snapshot is being applied to

ObjectFlags

type: EObjectFlags

description: The flags of the actor

WorldData

description: All world data of the snapshot


code: FPostApplyFiltersParams ( const [FPropertySelection](API\Plugins\LevelSnapshots\Filtering\FPropertySelection) & SelectedProperties, [UObject](API\Runtime\CoreUObject\UObject\UObject) * SnapshotObject, [UObject](API\Runtime\CoreUObject\UObject\UObject) * EditorObject )


className: FPostApplyFiltersParams

code: struct FPostApplyFiltersParams

EditorObject

description: The snapshot world object being filtered

SnapshotObject

description: The editor object being filtered


code: void Combine ( [FPostApplyFiltersResult](API\Plugins\LevelSnapshots\Restorability\Interfaces\FPostApplyFiltersResult) Result )


className: FPostApplyFiltersResult

code: struct FPostApplyFiltersResult

AdditionalPropertiesToFilter

type: TArray<FLevelS...

description: Additional properties that should be displayed to the user.

AdditionalPropertiesToForcefullyShow

description: Additional properties that should always be displayed to the user regardless of whether they pass the property filter or not.


code: FPostLoadSnapshotObjectParams ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * SnapshotObject, const [FWorldSnapshotData](API\Plugins\LevelSnapshots\Data\FWorldSnapshotData) & SnapshotData )


className: FPostLoadSnapshotObjectParams

code: struct FPostLoadSnapshotObjectParams

SnapshotData

description: All saved snapshot data. Typical use case is getting the saved version info

SnapshotObject

description: The object that received its properties


code: FPostRemoveComponentParams ( [AActor](API\Runtime\Engine\GameFramework\AActor) * Owner, [FName](API\Runtime\Core\UObject\FName) ComponentName, [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [UActorComponent](API\Runtime\Engine\Components\UActorComponent) > DestroyedComponent )


className: FPostRemoveComponentParams

code: struct FPostRemoveComponentParams

ComponentName

type: FName

description: The old component's name

DestroyedComponent

type: TWeakObjectPtr<...

description: Pointer to the still allocated component.

Owner

description: The actor the component was removed from


className: FPostTakeObjectSnapshotEvent


code: FPreRecreateComponentParams ( [AActor](API\Runtime\Engine\GameFramework\AActor) * Owner, [FName](API\Runtime\Core\UObject\FName) ComponentName, [UClass](API\Runtime\CoreUObject\UObject\UClass) * ComponentClass, EComponentCreationMethod CreationMethod )


className: FPreApplyFiltersParams

code: struct FPreApplyFiltersParams

Snapshot

type: ULevelSnapshot...

description: The snapshot on which the filtering occurs

SnapshotObject

description: The editor object being filtered


className: FPreRecreateComponentParams

code: struct FPreRecreateComponentParams

ComponentClass

description: The class the component will have.

ComponentName

description: The name the component will have.

CreationMethod

type: EComponentCreat...

description: The creation method that will be set for the component.

Owner

description: The actor that will own the component


className: FPreRemoveActorParams


code: FPreRemoveActorParams ( const [FPropertySelectionMap](API\Plugins\LevelSnapshots\Filtering\FPropertySelectionMap) & SelectedProperties, [AActor](API\Runtime\Engine\GameFramework\AActor) * ActorToRemove )


code: FRestorationListenerBaseParams ( const [FPropertySelectionMap](API\Plugins\LevelSnapshots\Filtering\FPropertySelectionMap) & SelectedProperties )


className: FRestorationListenerBaseParams

code: struct FRestorationListenerBaseParams

SelectedProperties

description: All of the user's selected properties


className: FTakeObjectSnapshotEvent

code: struct FTakeObjectSnapshotEvent


description: Whether the actor is allowed to be removed. Called when diffing to world.

code: virtual [EFilterResult](API\Plugins\LevelSnapshots\Restorability\Interfaces\IActorSnapshotFilter\EFilterResult) CanDeleteActor ( const [AActor](API\Runtime\Engine\GameFramework\AActor) * EditorActor )


code: virtual [FFilterResultData](API\Plugins\LevelSnapshots\Restorability\Interfaces\IActorSnapshotFilter\FFilterResultDat-) CanDeleteNewActor ( const [AActor](API\Runtime\Engine\GameFramework\AActor) * EditorActor )


description: Whether the actor is allowed to be recreated. Called when diffing to world.

code: virtual [EFilterResult](API\Plugins\LevelSnapshots\Restorability\Interfaces\IActorSnapshotFilter\EFilterResult) CanRecreateActor ( const [FCanRecreateActorParams](API\Plugins\LevelSnapshots\Restorability\Interfaces\FCanRecreateActorParams) & Params )


description: Called to check whether a matched actor is allowed to have any of its data restored.

code: virtual [FFilterResultData](API\Plugins\LevelSnapshots\Restorability\Interfaces\IActorSnapshotFilter\FFilterResultDat-) CanModifyMatchedActor ( const [FCanModifyMatchedActorParams](API\Plugins\LevelSnapshots\Restorability\Interfaces\FCanModifyMatchedActorParams) & Params )


code: virtual [FFilterResultData](API\Plugins\LevelSnapshots\Restorability\Interfaces\IActorSnapshotFilter\FFilterResultDat-) CanRecreateMissingActor ( const [FCanRecreateActorParams](API\Plugins\LevelSnapshots\Restorability\Interfaces\FCanRecreateActorParams) & Params )


className: EFilterResult

code: enum EFilterResult { Allow, DoNotCare, Disallow, }


className: FPreTakeObjectSnapshotEvent


code: FFilterResultData &40; EFilterResult Result, FText ExclusionReason &41;


className: FFilterResultData

code: struct FFilterResultData

ExclusionReason

type: FText

description: The reason for InclusionResult == Disallow, if any. Displayed to the user.

InclusionResult

type: EFilterResult

description: Determines what to do with the actor data


code: virtual ~IActorSnapshotFilter()


className: IActorSnapshotFilter

description: Can decide whether a given actor can be added to or removed from the world.

code: class IActorSnapshotFilter


description:
This function must either find the subobject in SnapshotObject or recreate it. If the object is recreated, you must fix up any property references yourself. After this function is called, properties will be serialized into this function's return value. After this, OnPostSerializeSnapshotSubobject is called.
The found or recreated subobject. If null, the subobject is skipped.

code: virtual [UObject](API\Runtime\CoreUObject\UObject\UObject) * FindOrRecreateSubobjectInSnapshotWorld ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * SnapshotObject, const [ISnapshotSubobjectMetaData](API\Plugins\LevelSnapshots\Restorability\Params\ISnapshotSubobjectMetaData) & ObjectData, const [ICustomSnapshotSerializationData](API\Plugins\LevelSnapshots\Restorability\Params\ICustomSnapshotSerializationData) & DataStorage )


description:
This function must either find the subobject in EditorObject or recreate it. If the object is recreated, you must fix up any property references yourself. After this function is called, properties will be serialized into this function's return value. After this, OnPostSerializeEditorSubobject is called.
The found or recreated subobject. If null, the subobject is skipped.

code: virtual [UObject](API\Runtime\CoreUObject\UObject\UObject) * FindOrRecreateSubobjectInEditorWorld ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * EditorObject, const [ISnapshotSubobjectMetaData](API\Plugins\LevelSnapshots\Restorability\Params\ISnapshotSubobjectMetaData) & ObjectData, const [ICustomSnapshotSerializationData](API\Plugins\LevelSnapshots\Restorability\Params\ICustomSnapshotSerializationData) & DataStorage )


description: Optional. Called after GetOrRecreateSubobjectInEditorWorld when all properties have been serialized into the subobject. You can do any post processing here.

code: virtual void OnPostSerializeEditorSubobject ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Subobject, const [ISnapshotSubobjectMetaData](API\Plugins\LevelSnapshots\Restorability\Params\ISnapshotSubobjectMetaData) & ObjectData, const [ICustomSnapshotSerializationData](API\Plugins\LevelSnapshots\Restorability\Params\ICustomSnapshotSerializationData) & DataStorage )


description:
Similar to FindOrRecreateSubobjectInEditorWorld, only that the subobject is not recreated if not present. Called when diffing against the world.
The subobject in the editor world. If you return null, the subobject will be recreated.

code: virtual [UObject](API\Runtime\CoreUObject\UObject\UObject) * FindSubobjectInEditorWorld ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * EditorObject, const [ISnapshotSubobjectMetaData](API\Plugins\LevelSnapshots\Restorability\Params\ISnapshotSubobjectMetaData) & ObjectData, const [ICustomSnapshotSerializationData](API\Plugins\LevelSnapshots\Restorability\Params\ICustomSnapshotSerializationData) & DataStorage )


description: Optional. Called after GetOrRecreateSubobjectInSnapshotWorld when all properties have been serialized into the subobject. You can do any post processing here.

code: virtual void OnPostSerializeSnapshotSubobject ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Subobject, const [ISnapshotSubobjectMetaData](API\Plugins\LevelSnapshots\Restorability\Params\ISnapshotSubobjectMetaData) & ObjectData, const [ICustomSnapshotSerializationData](API\Plugins\LevelSnapshots\Restorability\Params\ICustomSnapshotSerializationData) & DataStorage )


description: Optional. Called after properties are applied to an object for which this interface was registered. Called on the object in the editor world.

code: virtual void PostApplyToEditorObject ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object, const [ICustomSnapshotSerializationData](API\Plugins\LevelSnapshots\Restorability\Params\ICustomSnapshotSerializationData) & DataStorage, const [FPropertySelectionMap](API\Plugins\LevelSnapshots\Filtering\FPropertySelectionMap) & SelectionMap )


description: You can use DataStorage to add any data additional meta data needed and add subobjects you want to restore manually. Note that all uproperties will still be restored normally as with all other objects.

code: virtual void OnTakeSnapshot ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * EditorObject, [ICustomSnapshotSerializationData](API\Plugins\LevelSnapshots\Restorability\Params\ICustomSnapshotSerializationData) & DataStorage )


description: Optional. Called after properties are applied to an object for which this interface was registered. Called on the object in the transient snapshot world.

code: virtual void PostApplyToSnapshotObject ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object, const [ICustomSnapshotSerializationData](API\Plugins\LevelSnapshots\Restorability\Params\ICustomSnapshotSerializationData) & DataStorage )


description: Optional. Called before properties are applied to anobject for which this interface was registered. Called on the object in the editor world.

code: virtual void PreApplyToEditorObject ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object, const [ICustomSnapshotSerializationData](API\Plugins\LevelSnapshots\Restorability\Params\ICustomSnapshotSerializationData) & DataStorage, const [FPropertySelectionMap](API\Plugins\LevelSnapshots\Filtering\FPropertySelectionMap) & SelectionMap )


description: Optional. Called before properties are applied to anobject for which this interface was registered. Called on the object in the transient snapshot world.

code: virtual void PreApplyToSnapshotObject ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object, const [ICustomSnapshotSerializationData](API\Plugins\LevelSnapshots\Restorability\Params\ICustomSnapshotSerializationData) & DataStorage )


className: ICustomObjectSnapshotSerializer

description: ISnapshotObjectSerializer handles the serialisation of the object you're registered to. You can use it to add custom annotation data you need to restoring object info. You can also save & restore subobjects you wish to manually restore, provided they're not automatically restored by Level Snapshots. The following subobjects are handled by default:

code: class ICustomObjectSnapshotSerializer


className: EPropertyComparison

code: enum EPropertyComparison { TreatEqual, TreatUnequal, CheckNormally, }


description: Decides whether the property should be considered equal. Note that this is only called on root properties. For performance reasons, this is not called on nested struct properties. This is not a big restriction because you can just check the structs content yourself.

code: virtual [EPropertyComparison](API\Plugins\LevelSnapshots\Restorability\Interfaces\IPropertyComparer\EPropertyCompari-) ShouldConsiderPropertyEqual ( const [FPropertyComparisonParams](API\Plugins\LevelSnapshots\Restorability\Params\FPropertyComparisonParams) & Params ) const


code: virtual ~IPropertyComparer()


className: IPropertyComparer

description: This is useful for cases where certain properties are disabled by others. For an example see FStaticMeshCollisionPropertyComparer.

code: class IPropertyComparer


description: Called after all snapshot data was applied. The world is nearly completely changed (the only thing remaining is executing this event).

code: virtual void PostApplySnapshot ( const [FPostApplySnapshotParams](API\Plugins\LevelSnapshots\Restorability\Interfaces\FPostApplySnapshotParams) & Params )


description: For actors, this function is always called. For subobjects, such as components, this is only called when there were changed properties.

code: virtual void PostApplySnapshotProperties ( const [FApplySnapshotPropertiesParams](API\Plugins\LevelSnapshots\Restorability\Interfaces\FApplySnapshotPr-) & Params )


description: Called after an actor has received all property and component changes. Called after PostApplySnapshotProperties, PostRecreateComponent, and PostRemoveComponent.

code: virtual void PostApplySnapshotToActor ( const [FApplySnapshotToActorParams](API\Plugins\LevelSnapshots\Restorability\Interfaces\FApplySnapshotToActorParams) & Params )


description: Called after an actor is recreated to the world (but before any data is applied to it)

code: virtual void PostRecreateActor ( [AActor](API\Runtime\Engine\GameFramework\AActor) * RecreatedActor )


description: Called after all actors have been removed from the world

code: virtual void PostRemoveActors ( const [FPostRemoveActorsParams](API\Plugins\LevelSnapshots\Restorability\Interfaces\FPostRemoveActorsParams) & Params )


description: PreApplySnapshot and PostApplySnapshot will be called after PostRecreateComponent has executed.

code: virtual void PostRecreateComponent ( [UActorComponent](API\Runtime\Engine\Components\UActorComponent) * RecreatedComponent )


description: Called after a component is removed from an actor.

code: virtual void PostRemoveComponent ( const [FPostRemoveComponentParams](API\Plugins\LevelSnapshots\Restorability\Interfaces\FPostRemoveComponentParams) & Params )


description: Called before an actor receives any property or component change. Called before PreApplySnapshotProperties, PreRecreateComponent, and PreRemoveComponent.

code: virtual void PreApplySnapshotToActor ( const [FApplySnapshotToActorParams](API\Plugins\LevelSnapshots\Restorability\Interfaces\FApplySnapshotToActorParams) & Params )


description: If this is called on a recreated component, then Params.bWasRecreated will be true; this function will be called after both PreRecreateComponent and PostRecreateComponent have been called.

code: virtual void PreApplySnapshotProperties ( const [FApplySnapshotPropertiesParams](API\Plugins\LevelSnapshots\Restorability\Interfaces\FApplySnapshotPr-) & Params )


description: Called before the snapshot is applied. Except for the changes made by this event, the world has not been changed, yet.

code: virtual void PreApplySnapshot ( const [FPreApplySnapshotParams](API\Plugins\LevelSnapshots\Restorability\Interfaces\FPreApplySnapshotParams) & Params )


code: virtual void PreRecreateComponent ( const [FPreRecreateComponentParams](API\Plugins\LevelSnapshots\Restorability\Interfaces\FPreRecreateComponentParams) & Params )


description: Called before an actor is recreated to the world and gives the opportunity to override settings. You cannot override the Name.

code: virtual void PreRecreateActor ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [AActor](API\Runtime\Engine\GameFramework\AActor) > ActorClass, [FActorSpawnParameters](API\Runtime\Engine\Engine\FActorSpawnParameters) & InOutSpawnParameters )


description: Called before an actor is removed from the world.

code: virtual void PreRemoveActor ( const [FPreRemoveActorParams](API\Plugins\LevelSnapshots\Restorability\Interfaces\FPreRemoveActorParams) & Params )


description: Deprecated* UsePreRemoveActor(const FPreRemoveActorParams& Params)instead

code: virtual void PreRemoveActor ( [AActor](API\Runtime\Engine\GameFramework\AActor) * ActorToRemove )


description: Called before a component is removed from an actor.

code: virtual void PreRemoveComponent ( [UActorComponent](API\Runtime\Engine\Components\UActorComponent) * ComponentToRemove )


code: virtual ~IRestorationListener()


className: IRestorationListener

description: In all callbacks, you will receive a non-constUObject. You are free to modify them. Keep the user's expectations in mind: generally only properties that were selected should change. You should generally ensure that relevant systems are updated.

code: class IRestorationListener


description: Called after all properties have been filtered on the given object pair.

code: virtual [FPostApplyFiltersResult](API\Plugins\LevelSnapshots\Restorability\Interfaces\FPostApplyFiltersResult) PostApplyFilters ( const [FPostApplyFiltersParams](API\Plugins\LevelSnapshots\Restorability\Interfaces\FPostApplyFiltersParams) & Params )


description: Called before the object is filtered. PreFilterObject is be executed recursively on subobjects before the corresponding call to PostFilterObject is made.

code: virtual void PreApplyFilters ( const [FPreApplyFiltersParams](API\Plugins\LevelSnapshots\Restorability\Interfaces\FPreApplyFiltersParams) & Params )


code: virtual ~ISnapshotFilterExtender()


className: ISnapshotFilterExtender

description: Note that Level Snapshots restores TArrays either fully or not at all. For this reason,IPropertyComparermay not always be an option for you; this interface gives you more options. If you have changes that should be ignored by Level Snapshots, this interface allows you to modify the object in PreFilterObject and undo the changes in PostFilterObject.

code: class ISnapshotFilterExtender


description: Called after an object has received all its properties.

code: virtual void PostLoadSnapshotObject ( const [FPostLoadSnapshotObjectParams](API\Plugins\LevelSnapshots\Restorability\Interfaces\FPostLoadSnapshotObjectParams) & Params )


code: virtual ~ISnapshotLoader()


className: ISnapshotLoader

description: Receives callbacks when an object is loaded into the snapshot world. Gives the opportunity to call custom fix up functions.

code: class ISnapshotLoader


description: Should this actor be visible to the snapshot system?

code: virtual [ERestorabilityOverride](API\Plugins\LevelSnapshots\Restorability\Interfaces\ISnapshotRestora-\ERestorabilityOv-) IsActorDesirableForCapture ( const [AActor](API\Runtime\Engine\GameFramework\AActor) * Actor )


className: ERestorabilityOverride

code: enum ERestorabilityOverride { Allow, DoNotCare, Disallow, }


description: Should this component be visible to the snapshot system?

code: virtual [ERestorabilityOverride](API\Plugins\LevelSnapshots\Restorability\Interfaces\ISnapshotRestora-\ERestorabilityOv-) IsComponentDesirableForCapture ( const [UActorComponent](API\Runtime\Engine\Components\UActorComponent) * Component )


className: ISnapshotRestorabilityOverrider

description: To see which actors, components, and subobjects are supported by default, see FSnapshotRestorability.

code: class ISnapshotRestorabilityOverrider


description: Called after an object's data is recorded by a snapshot.

code: virtual void PostTakeObjectSnapshot ( const [FPostTakeObjectSnapshotEvent](API\Plugins\LevelSnapshots\Restorability\Interfaces\FPostTakeObjectSnapshotEvent) & Params )


description: Called after a snapshot is taken for a world.

code: virtual void PostTakeSnapshot ( const [FPostTakeSnapshotEventData](API\Plugins\LevelSnapshots\FPostTakeSnapshotEventData) & Params )


description: Called before an object's data is recorded by a snapshot.

code: virtual void PreTakeObjectSnapshot ( const [FPreTakeObjectSnapshotEvent](API\Plugins\LevelSnapshots\Restorability\Interfaces\FPreTakeObjectSnapshotEvent) & Params )


description: Called before a snapshot is taken for a world.

code: virtual void PreTakeSnapshot ( const [FPreTakeSnapshotEventData](API\Plugins\LevelSnapshots\FPreTakeSnapshotEventData) & Params )


className: ITakeSnapshotListener

description: Exposes callbacks for when a snapshot is taken

code: class ITakeSnapshotListener


className: FObjectAnnotator

code: typedef TBaseDelegate_OneParam< void, [FArchive](API\Runtime\Core\Serialization\FArchive) & > FObjectAnnotator


code: FPropertyComparisonParams ( [UClass](API\Runtime\CoreUObject\UObject\UClass) * InspectedClass, const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * LeafProperty, void * SnapshotContainer, void * WorldContainer, [UObject](API\Runtime\CoreUObject\UObject\UObject) * SnapshotObject, [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldObject, [AActor](API\Runtime\Engine\GameFramework\AActor) * SnapshotActor, [AActor](API\Runtime\Engine\GameFramework\AActor) * WorldActor )


code: FPropertyComparisonParams ( [ULevelSnapshot](API\Plugins\LevelSnapshots\Data\ULevelSnapshot) * Snapshot, [UClass](API\Runtime\CoreUObject\UObject\UClass) * InspectedClass, const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * LeafProperty, void * SnapshotContainer, void * WorldContainer, [UObject](API\Runtime\CoreUObject\UObject\UObject) * SnapshotObject, [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldObject, [AActor](API\Runtime\Engine\GameFramework\AActor) * SnapshotActor, [AActor](API\Runtime\Engine\GameFramework\AActor) * WorldActor )


code: virtual ~ITakeSnapshotListener()


className: FPropertyComparisonParams

code: struct FPropertyComparisonParams

InspectedClass

description: The class we're looking at. This is not necessarily the class LeafProperty resides in.

LeafProperty

description: The property being checked

SnapshotActor

description: Snapshot version of the actor

SnapshotContainer

type: void *

description: Parameter forFProperty::ContainerPtrToValuePtr.

SnapshotObject

type: UObject*

description: Either anAActor,UActorComponent, or a subobject of the two.

WorldActor

description: Actor currently in the world


description: Gets all saved subobject handles.

code: int32 GetNumSubobjects() const


description: Gets the meta data stored for a subobject previously added using AddSubobjectDependency.

code: [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [ISnapshotSubobjectMetaData](API\Plugins\LevelSnapshots\Restorability\Params\ISnapshotSubobjectMetaData) > GetSubobjectMetaData ( int32 Index )


description: 'Subobject' cannot be visible to standard Level Snapshots serialisation. A subobject is visible if it contained within a uproperty (object reference or collection of references) with the CPF_Edit flag. You can explicitly disallow uproperties using the Level Snapshots module.

code: int32 AddSubobjectSnapshot ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Subobject )


code: const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [ISnapshotSubobjectMetaData](API\Plugins\LevelSnapshots\Restorability\Params\ISnapshotSubobjectMetaData) > GetSubobjectMetaData ( int32 Index ) const


description: Add data needed for restoring the object.

code: void WriteObjectAnnotation ( const [FObjectAnnotator](API\Plugins\LevelSnapshots\Restorability\Params\FObjectAnnotator) & Writer )


description: Read data needed for restoring the object

code: void ReadObjectAnnotation ( const [FObjectAnnotator](API\Plugins\LevelSnapshots\Restorability\Params\FObjectAnnotator) & Reader ) const


className: ICustomSnapshotSerializationData

description: Utility for saving / restoring properties of an object.

code: class ICustomSnapshotSerializationData


description: Gets the soft path for the object when it was snapshot


description: Add data needed for restoring the object


code: virtual ~ISnapshotSubobjectMetaData()


className: ISnapshotSubobjectMetaData

description: Manages meta data needed by external modules to restore objects

code: class ISnapshotSubobjectMetaData


description: Is this actor captured by the snapshot system?

code: namespace UE { namespace LevelSnapshots { namespace Restorability { bool UE::LevelSnapshots::Restorability::IsActorDesirableForCapture ( const [AActor](API\Runtime\Engine\GameFramework\AActor) * Actor ) } } }


description: The actor did not exist in the snapshot. Should we show it in the list of added actors?

code: namespace UE { namespace LevelSnapshots { namespace Restorability { bool UE::LevelSnapshots::Restorability::ShouldConsiderNewActorForRemoval ( const [AActor](API\Runtime\Engine\GameFramework\AActor) * Actor, [FText](API\Runtime\Core\Internationalization\FText) * ExclusionReason ) } } }


description: Can this actor be restored? Stronger requirement than IsActorDesirableForCapture: we may capture the data but not support restoring it at the moment.

code: namespace UE { namespace LevelSnapshots { namespace Restorability { bool UE::LevelSnapshots::Restorability::IsActorRestorable ( const [AActor](API\Runtime\Engine\GameFramework\AActor) * Actor ) } } }


description: Is this property captured by the snapshot system?

code: namespace UE { namespace LevelSnapshots { namespace Restorability { bool UE::LevelSnapshots::Restorability::IsRestorableProperty ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * LeafProperty ) } } }


description: Is this component captured by the snapshot system?

code: namespace UE { namespace LevelSnapshots { namespace Restorability { bool UE::LevelSnapshots::Restorability::IsComponentDesirableForCapture ( const [UActorComponent](API\Runtime\Engine\Components\UActorComponent) * Component ) } } }


description: Can the property be captured?

code: namespace UE { namespace LevelSnapshots { namespace Restorability { bool UE::LevelSnapshots::Restorability::IsPropertyDesirableForCapture ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property ) } } }


description: Is this subobject class captured by the snapshot system?

code: namespace UE { namespace LevelSnapshots { namespace Restorability { bool UE::LevelSnapshots::Restorability::IsSubobjectClassDesirableForCapture ( const [UClass](API\Runtime\CoreUObject\UObject\UClass) * SubobjectClass ) } } }


description: Is this subobject captured by the snapshot system?

code: namespace UE { namespace LevelSnapshots { namespace Restorability { bool UE::LevelSnapshots::Restorability::IsSubobjectDesirableForCapture ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Subobject ) } } }


description: Is this property never captured by the snapshot system?

code: namespace UE { namespace LevelSnapshots { namespace Restorability { bool UE::LevelSnapshots::Restorability::IsPropertyExplicitlyUnsupportedForCapture ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property ) } } }


description: Is this property always captured by the snapshot system?

code: namespace UE { namespace LevelSnapshots { namespace Restorability { bool UE::LevelSnapshots::Restorability::IsPropertyExplicitlySupportedForCapture ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property ) } } }


description: The actor was removed from the snapshot. Should we show it in the list of removed actors?

code: namespace UE { namespace LevelSnapshots { namespace Restorability { bool UE::LevelSnapshots::Restorability::ShouldConsiderRemovedActorForRecreation ( const [FCanRecreateActorParams](API\Plugins\LevelSnapshots\Restorability\Interfaces\FCanRecreateActorParams) & Params, [FText](API\Runtime\Core\Internationalization\FText) * ExclusionReason ) } } }


description: The actor exists in the world and the snapshot. Should we show it in the list of modified actors?

code: namespace UE { namespace LevelSnapshots { namespace Restorability { bool UE::LevelSnapshots::Restorability::ShouldConsiderMatchedActorForRestoration ( const [FCanModifyMatchedActorParams](API\Plugins\LevelSnapshots\Restorability\Interfaces\FCanModifyMatchedActorParams) & Params, [FText](API\Runtime\Core\Internationalization\FText) * ExclusionReason ) } } }


className: ESnapshotCompressionLevel

description: ESnapshotCompressionLevel and ESnapshotCompressor copied from OodleDataCompression.h - there is no UENUM version at time of duplication.

code: enum ESnapshotCompressionLevel { HyperFast4 = -4, HyperFast3 = -3, HyperFast2 = -2, HyperFast1 = -1, None = 0, SuperFast = 1, VeryFast = 2, Fast = 3, Normal = 4, Optimal1 = 5, Optimal2 = 6, Optimal3 = 7, Optimal4 = 8, }


code: namespace EHashAlgorithmChooseBehavior { enum Type { UseFastest, UseCrc32, UseMD5, } }


className: ESnapshotCompressor

code: enum ESnapshotCompressor { Selkie = 1, Mermaid = 2, Kraken = 3, Leviathan = 4, }


className: FHashSettings

bCanUseCRC

type: bool

description: Whether Level Snapshots will compute CRC32 hashes (when taking and analysing snapshots) Speed: CRC32 < MD5 < SHA1.

description: Whether Level Snapshots will compute MD5 hashes (when taking and analysing snapshots).

bUseHashForLoading

description: Whether to compare world actor's to its saved hash when loading a snapshot. Boosts performance.

HashCutoffSeconds

type: double

description: Performance trade-off.

SnapshotDiffAlgorithm

type: TEnumAsByte<EH...

description: Which hash algorithm to use when comparing a snapshot to the world.


className: FSkippedClassList

SkippedClasses

type: TSet<FSoftClas...

description: These actor and component classes are skipped.


code: namespace UE { namespace LevelSnapshots { namespace Compression { [FOodleDataCompression::ECompressionLevel](API\Runtime\Core\Compression\FOodleDataCompression__ECompress-_1) UE::LevelSnapshots::Compression::CastCompressionLevel ( [ESnapshotCompressionLevel](API\Plugins\LevelSnapshots\Settings\ESnapshotCompressionLevel) Value ) } } }


code: namespace UE { namespace LevelSnapshots { namespace Compression { [FOodleDataCompression::ECompressor](API\Runtime\Core\Compression\FOodleDataCompression__ECompress-) UE::LevelSnapshots::Compression::CastCompressor ( [ESnapshotCompressor](API\Plugins\LevelSnapshots\Settings\ESnapshotCompressor) Value ) } } }


description: Called when a property on this object has been modified externally

code: virtual void PostEditChangeProperty ( [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


code: static [ULevelSnapshotsSettings](API\Plugins\LevelSnapshots\Settings\ULevelSnapshotsSettings) * Get()


description: Called after the C++ constructor and after the properties have been initialized, including those loaded from config. This is called before any serialization or other setup has happened.

code: virtual void PostInitProperties()


className: ULevelSnapshotsSettings

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Config=Engine, defaultconfig) class ULevelSnapshotsSettings : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

CompressionSettings

type: FSnapshotCompre...

description: Specifies the compression settings to use when a snapshot is saved.

DoubleComparisonPrecision

description: Used when comparing double properties.

FloatComparisonPrecision

type: float

description: Used when comparing float properties.

HashSettings

type: FHashSettings

description: Performance trade-off.

type: FSkippedClassLi...

description: Specifies classes and properties that should never be captured nor restored.


className: FSnapshotCompressionSettings

CompressionLevel

type: ESnapshotCompre...

description: Trade-off between compression ratio and time.

CompressorAlgorithm

description: Specifies the algorithm to use for compressing & decompressing snapshot data.


code: namespace UE { namespace LevelSnapshots { bool UE::LevelSnapshots::AreNumericPropertiesNearlyEqual ( const [FNumericProperty](API\Runtime\CoreUObject\UObject\FNumericProperty) * Property, const void * ValuePtrA, const void * ValuePtrB ) } }


code: namespace UE { namespace LevelSnapshots { [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * UE::LevelSnapshots::GetParentProperty ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property ) } }


description: Returns true if the property is a struct, map, array, set, etc

code: namespace UE { namespace LevelSnapshots { bool UE::LevelSnapshots::IsPropertyContainer ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property ) } }


description: Returns true if the property is a set, array, map, etc but NOT a struct

code: namespace UE { namespace LevelSnapshots { bool UE::LevelSnapshots::IsPropertyCollection ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property ) } }


description: Is the property an element of a struct, set, array, map, etc

code: namespace UE { namespace LevelSnapshots { bool UE::LevelSnapshots::IsPropertyInContainer ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property ) } }


description: A quick property flag check. Assumes the property flags are properly set/deserialized

code: namespace UE { namespace LevelSnapshots { bool UE::LevelSnapshots::IsPropertyComponentOrSubobject ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property ) } }


description: Is the property an element of a set, array, map, etc

code: namespace UE { namespace LevelSnapshots { bool UE::LevelSnapshots::IsPropertyInCollection ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property ) } }


code: namespace UE { namespace LevelSnapshots { bool UE::LevelSnapshots::IsPropertyInStruct ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property ) } }


code: namespace UE { namespace LevelSnapshots { bool UE::LevelSnapshots::IsPropertyInMap ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property ) } }


code: namespace UE { namespace LevelSnapshots { void UE::LevelSnapshots::UpdateDecimalComparisionPrecision ( float FloatPrecision, double DoublePrecision ) } }


description: Implement this for deinitialization of instances of the system

code: virtual void Deinitialize()


className: FPostApplySnapshotEvent

code: class FPostApplySnapshotEvent


className: FPostTakeSnapshotEvent

code: class FPostTakeSnapshotEvent


className: FPreApplySnapshotEvent

code: class FPreApplySnapshotEvent


description: Implement this for initialization of instances of the system

code: virtual void Initialize ( [FSubsystemCollectionBase](API\Runtime\Engine\Subsystems\FSubsystemCollectionBase) & Collection )


className: FPreTakeSnapshotEvent

code: class FPreTakeSnapshotEvent


description: Goes through the properties of the actors and their components calling IsPropertyValid on them. This function does not recursively check object references, e.g. 'Instanced' uproperties. These properties are currently unsupported by the snapshot framework.

code: static void ApplyFilterToFindSelectedProperties ( [ULevelSnapshot](API\Plugins\LevelSnapshots\Data\ULevelSnapshot) * Snapshot, [FPropertySelectionMap](API\Plugins\LevelSnapshots\Filtering\FPropertySelectionMap) & MapToAddTo, [AActor](API\Runtime\Engine\GameFramework\AActor) * WorldActor, [AActor](API\Runtime\Engine\GameFramework\AActor) * DeserializedSnapshotActor, const [ULevelSnapshotFilter](API\Plugins\LevelSnapshotFilters\ULevelSnapshotFilter) * Filter )


className: ULevelSnapshotsEngineSubsystem

description: Exposes some native Level Snapshots events to Blueprint scripting.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class ULevelSnapshotsEngineSubsystem : public [UEngineSubsystem](API\Runtime\Engine\Subsystems\UEngineSubsystem)

OnPostApplySnapshot

type: FPostApplySnaps...

description: Called after a level snapshot was applied to a world.

OnPostTakeSnapshot

type: FPostTakeSnapsh...

description: Called after a level snapshot captures the world's data.

OnPreApplySnapshot

type: FPreApplySnapsh...

description: Called before a level snapshot is applied to a world.

OnPreTakeSnapshot

type: FPreTakeSnapsho...

description: Called before a level snapshot captures the world's data.


description: Diffs the snapshot with the given world and returns the changes that pass the filter.

code: static [FPropertySelectionMap](API\Plugins\LevelSnapshots\Filtering\FPropertySelectionMap) DiffAndFilterSnapshot ( [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld, [ULevelSnapshot](API\Plugins\LevelSnapshots\Data\ULevelSnapshot) * InSnapshot, const [ULevelSnapshotFilter](API\Plugins\LevelSnapshotFilters\ULevelSnapshotFilter) * Filter )


className: ULevelSnapshotsFilteringLibrary


code: static void ApplyFilterToFindSelectedProperties ( [ULevelSnapshot](API\Plugins\LevelSnapshots\Data\ULevelSnapshot) * Snapshot, [FPropertySelectionMap](API\Plugins\LevelSnapshots\Filtering\FPropertySelectionMap) & MapToAddTo, [AActor](API\Runtime\Engine\GameFramework\AActor) * WorldActor, [AActor](API\Runtime\Engine\GameFramework\AActor) * DeserializedSnapshotActor, const [ULevelSnapshotFilter](API\Plugins\LevelSnapshotFilters\ULevelSnapshotFilter) * Filter, bool bAllowUnchangedProperties, bool bAllowNonEditableProperties )