UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Virtualization::FNullVirtualizationSystem Class Reference
+ Inheritance diagram for UE::Virtualization::FNullVirtualizationSystem:

Public Member Functions

 FNullVirtualizationSystem ()
 
virtual ~FNullVirtualizationSystem ()=default
 
virtual bool Initialize (const FInitParams &InitParams) override
 
virtual bool IsEnabled () const override
 
virtual bool IsPushingEnabled (EStorageType StorageType) const override
 
virtual EPayloadFilterReason FilterPayload (const UObject *Owner) const override
 
virtual bool AllowSubmitIfVirtualizationFailed () const override
 
virtual bool PushData (TArrayView< FPushRequest > Requests, EStorageType StorageType) override
 
virtual bool PullData (TArrayView< FPullRequest > Requests) override
 
virtual EQueryResult QueryPayloadStatuses (TArrayView< const FIoHash > Ids, EStorageType StorageType, TArray< EPayloadStatus > &OutStatuses) override
 
virtual FVirtualizationResult TryVirtualizePackages (TConstArrayView< FString > PackagePaths, EVirtualizationOptions Options) override
 
virtual FRehydrationResult TryRehydratePackages (TConstArrayView< FString > PackagePaths, ERehydrationOptions Options) override
 
virtual ERehydrationResult TryRehydratePackages (TConstArrayView< FString > PackagePaths, uint64 PaddingAlignment, TArray< FText > &OutErrors, TArray< FSharedBuffer > &OutPackages, TArray< FRehydrationInfo > *OutInfo) override
 
virtual void DumpStats () const override
 
virtual TArray< FBackendStatsGetBackendStatistics () const override
 
virtual FPayloadActivityInfo GetSystemStatistics () const override
 
virtual void GatherAnalytics (TArray< FAnalyticsEventAttribute > &Attributes) const override
 
virtual FOnNotificationGetNotificationEvent () override
 
- Public Member Functions inherited from UE::Virtualization::IVirtualizationSystem
 IVirtualizationSystem ()=default
 
virtual ~IVirtualizationSystem ()=default
 
bool PushData (FPushRequest Request, EStorageType StorageType)
 
bool PushData (const FIoHash &Id, const FCompressedBuffer &Payload, const FString &Context, EStorageType StorageType)
 
FCompressedBuffer PullData (const FIoHash &Id)
 
bool PullData (FPullRequest Request)
 

Public Attributes

FOnNotification NotificationEvent
 

Additional Inherited Members

- Public Types inherited from UE::Virtualization::IVirtualizationSystem
enum  ENotification {
  PushBegunNotification , PushEndedNotification , PushFailedNotification , PullBegunNotification ,
  PullEndedNotification , PullFailedNotification
}
 
using GetPayloadActivityInfoFuncRef = TFunctionRef< void(const FString &DebugName, const FString &ConfigName, const FPayloadActivityInfo &PayloadInfo)>
 
using FOnNotification = TTSMulticastDelegate< void(ENotification, const FIoHash &)>
 
- Static Public Member Functions inherited from UE::Virtualization::IVirtualizationSystem
static CORE_API bool IsInitialized ()
 
static CORE_API FName GetSystemName ()
 
static CORE_API IVirtualizationSystemGet ()
 

Detailed Description

Default implementation to be used when the system is disabled

Constructor & Destructor Documentation

◆ FNullVirtualizationSystem()

UE::Virtualization::FNullVirtualizationSystem::FNullVirtualizationSystem ( )
inline

◆ ~FNullVirtualizationSystem()

virtual UE::Virtualization::FNullVirtualizationSystem::~FNullVirtualizationSystem ( )
virtualdefault

Member Function Documentation

◆ AllowSubmitIfVirtualizationFailed()

virtual bool UE::Virtualization::FNullVirtualizationSystem::AllowSubmitIfVirtualizationFailed ( ) const
inlineoverridevirtual

Poll to see if the virtualization process failing when submitting a collection of files to source control should block that submit or allow it to continue.

NOTE: This is a bit of an odd ball option to be included in the VirtualizationSystem API but at the moment we don't really have a better place for it. This might be removed or replaced in future releases.

Returns
True if the calling code should continue with submitting files if the virtualization process failed. If it returns false then the calling code should prevent the submit.

Implements UE::Virtualization::IVirtualizationSystem.

◆ DumpStats()

virtual void UE::Virtualization::FNullVirtualizationSystem::DumpStats ( ) const
inlineoverridevirtual

When called the system should write any performance stats that it has been gathering to the log file

Implements UE::Virtualization::IVirtualizationSystem.

◆ FilterPayload()

virtual EPayloadFilterReason UE::Virtualization::FNullVirtualizationSystem::FilterPayload ( const UObject Owner) const
inlineoverridevirtual

Run checks to see if the payload can be virtualized or not.

Parameters
OwnerThe UObject that contains the payload, this can be nullptr if the payload is not owned by one
Returns
The reasons why the payload can not be virtualized, encoded as a bitfield of EPayloadFilterReason. This bitfield will be EPayloadFilterReason::None (0) if no reason was found.

Implements UE::Virtualization::IVirtualizationSystem.

◆ GatherAnalytics()

virtual void UE::Virtualization::FNullVirtualizationSystem::GatherAnalytics ( TArray< FAnalyticsEventAttribute > &  Attributes) const
inlineoverridevirtual

Gather analytics data. Stats will only be collected if ENABLE_COOK_STATS is enabled.

Implements UE::Virtualization::IVirtualizationSystem.

◆ GetBackendStatistics()

virtual TArray< FBackendStats > UE::Virtualization::FNullVirtualizationSystem::GetBackendStatistics ( ) const
inlineoverridevirtual

Access profiling info relating to payload activity per backend. Stats will only be collected if ENABLE_COOK_STATS is enabled.

Implements UE::Virtualization::IVirtualizationSystem.

◆ GetNotificationEvent()

virtual FOnNotification & UE::Virtualization::FNullVirtualizationSystem::GetNotificationEvent ( )
inlineoverridevirtual

◆ GetSystemStatistics()

virtual FPayloadActivityInfo UE::Virtualization::FNullVirtualizationSystem::GetSystemStatistics ( ) const
inlineoverridevirtual

Access profiling info for all backends combined. Stats will only be collected if ENABLE_COOK_STATS is enabled.

Implements UE::Virtualization::IVirtualizationSystem.

◆ Initialize()

virtual bool UE::Virtualization::FNullVirtualizationSystem::Initialize ( const FInitParams InitParams)
inlineoverridevirtual

Initialize the system from the parameters given in the FInitParams structure. The system can only rely on the members of FInitParams to be valid for the duration of the method call, so if a system needs to retain information longer term then it should make it's own copy of the required data.

NOTE: Although it is relatively easy to access cached FConfigFiles, systems should use the one provided by InitParams to ensure that the correct settings are parsed.

Parameters
InitParamThe parameters used to initialize the system
Returns
True if the system was initialized correctly, otherwise false. Note that if the method returns false then the system will be deleted and the default FNullVirtualizationSystem will be used instead.

Implements UE::Virtualization::IVirtualizationSystem.

◆ IsEnabled()

virtual bool UE::Virtualization::FNullVirtualizationSystem::IsEnabled ( ) const
inlineoverridevirtual

Poll to see if content virtualization is enabled or not.

Implements UE::Virtualization::IVirtualizationSystem.

◆ IsPushingEnabled()

virtual bool UE::Virtualization::FNullVirtualizationSystem::IsPushingEnabled ( EStorageType  StorageType) const
inlineoverridevirtual

Poll to see if pushing virtualized content to the given backend storage type is enabled or not.

Implements UE::Virtualization::IVirtualizationSystem.

◆ PullData()

virtual bool UE::Virtualization::FNullVirtualizationSystem::PullData ( TArrayView< FPullRequest Requests)
inlineoverridevirtual

Pull a number of payloads from the virtualization backends.

Parameters
RequestsAn array of payload pull requests.
See also
FPullRequest
Returns
True if the requests succeeded, false if one or more requests failed

Implements UE::Virtualization::IVirtualizationSystem.

◆ PushData()

virtual bool UE::Virtualization::FNullVirtualizationSystem::PushData ( TArrayView< FPushRequest Requests,
EStorageType  StorageType 
)
inlineoverridevirtual

Push one or more payloads to a backend storage system. @See FPushRequest.

Parameters
RequestsA collection of one or more payload push requests
StorageTypeThe type of storage to push the payload to, @See EStorageType for details.
Returns
When StorageType is EStorageType::Cache this will return true as long each payload ends up being stored in at least one of the cache backends. When StorageType is EStorageType::Persistent this will only return true if each payload endd up being stored in all of the backends. This is because the cache backends are not considered essential and it is not the end of the world if a payload is missing but the persistent backends must be reliable.

Implements UE::Virtualization::IVirtualizationSystem.

◆ QueryPayloadStatuses()

virtual EQueryResult UE::Virtualization::FNullVirtualizationSystem::QueryPayloadStatuses ( TArrayView< const FIoHash Ids,
EStorageType  StorageType,
TArray< EPayloadStatus > &  OutStatuses 
)
inlineoverridevirtual

Query if a number of payloads exist or not in the given storage type.

Parameters
IdsOne or more payload identifiers to test
StorageTypeThe type of storage to push the payload to, @See EStorageType for details.
OutStatuses[out] An array containing the results for each payload. @See FPayloadStatus If the operation succeeds the array will be resized to match the size of Ids.
Returns
True if the operation succeeded and the contents of OutStatuses is valid. False if errors were encountered in which case the contents of OutStatuses should be ignored.

Implements UE::Virtualization::IVirtualizationSystem.

◆ TryRehydratePackages() [1/2]

virtual FRehydrationResult UE::Virtualization::FNullVirtualizationSystem::TryRehydratePackages ( TConstArrayView< FString >  PackagePaths,
ERehydrationOptions  Options 
)
inlineoverridevirtual

Runs the rehydration process on a set of packages. This involves downloading virtualized payloads and placing them back in the trailer of the given packages.

Parameters
PackagePathsAn array containing the absolute file paths of packages
OptionsAn enum bitfield containing various options for the process.
See also
EVirtualizationOptions
Parameters
OutResultInfoA struct that will contain info about the process.
See also
FVirtualizationResult
Returns
A ERehydrationResult enum with the status of the process. If the status indicates any sort of failure then OutResultInfo.Errors should contain at least one entry.

Implements UE::Virtualization::IVirtualizationSystem.

◆ TryRehydratePackages() [2/2]

virtual ERehydrationResult UE::Virtualization::FNullVirtualizationSystem::TryRehydratePackages ( TConstArrayView< FString >  PackagePaths,
uint64  PaddingAlignment,
TArray< FText > &  OutErrors,
TArray< FSharedBuffer > &  OutPackages,
TArray< FRehydrationInfo > *  OutInfo 
)
inlineoverridevirtual

Rehydrates a number of packages into memory buffers. Note that if a package does not require rehydration we will still return the package in a memory buffer but it will be the same as the package on disk.

Parameters
PackagePathsAn array containing the absolute file paths of packages.
PaddingAlignmentByte alignment to pad each package buffer too, a value of 0 will result in the buffers being the same size as the packages
OutErrorsAny errors encountered while rehydration will be added here
OutPackagesThe rehydrated packages as memory buffers. Each entry should match the corresponding entry in PackagePaths. This array is only guaranteed to be correct if the method returns ERehydrationResult::Success.
OutInfoInformation about the rehydration process, each entry should match the corresponding entry in PackagePaths assuming that the method returns ERehydrationResult::Success. This parameter is optional, if the information is not required then pass in nullptr to skip.
Returns
ERehydrationResult::Success if the rehydration suceeeds and OutPackages/OutInfocan be trued, otherwise it will return an error value.
See also
ERehydrationResult

Implements UE::Virtualization::IVirtualizationSystem.

◆ TryVirtualizePackages()

virtual FVirtualizationResult UE::Virtualization::FNullVirtualizationSystem::TryVirtualizePackages ( TConstArrayView< FString >  PackagePaths,
EVirtualizationOptions  Options 
)
inlineoverridevirtual

Runs the virtualization process on a set of packages. All of the packages will be parsed and any found to be containing locally stored payloads will have them removed but before they are removed they will be pushed to persistent storage.

Note that if errors occur some or all of the payloads could still get pushed to persistent storage, usually if the errors occur when trying to remove the now virtualized payload from the packages on disk. In addition, if errors do occur when removing the virtualized payloads, some packages may be virtualized successfully. In any case the packages should still be usable and safe to checkin after the process has run, even with failure cases.

Parameters
PackagePathsAn array of file paths to packages that should be virtualized. If a path resolves to a file that is not a valid package then it will be silently skipped and will not be considered an error.
OptionsAn enum bitfield containing various options for the process.
See also
EVirtualizationOptions
Parameters
OutResultInfoA struct that will contain info about the process.
See also
FVirtualizationResult
Returns
A EVirtualizationResult enum with the status of the process. If the status is not EVirtualizationResult::Success then the parameter OutErrors should contain at least one entry.

Implements UE::Virtualization::IVirtualizationSystem.

Member Data Documentation

◆ NotificationEvent

FOnNotification UE::Virtualization::FNullVirtualizationSystem::NotificationEvent

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