UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::AssetDataGather::Private::FAssetDataDiscovery Class Reference

#include <AssetDataGathererPrivate.h>

+ Inheritance diagram for UE::AssetDataGather::Private::FAssetDataDiscovery:

Public Member Functions

 FAssetDataDiscovery ()
 
virtual ~FAssetDataDiscovery ()
 
void StartAsync ()
 
virtual bool Init () override
 
virtual uint32 Run () override
 
virtual void Stop () override
 
virtual void Exit () override
 
void EnsureCompletion ()
 
bool IsSynchronous () const
 
void GetAndTrimSearchResults (bool &bOutIsComplete, TArray< FString > &OutDiscoveredPaths, FFilesToSearch &OutFilesToSearch, int32 &OutNumPathsToSearch)
 
void GetDiagnostics (float &OutCumulativeDiscoveryTime, int32 &OutNumCachedDirectories, int32 &OutNumUncachedDirectories)
 
void WaitForIdle (double EndTimeSeconds)
 
bool IsIdle () const
 
void OnInitialSearchCompleted ()
 
void OnAdditionalMountSearchCompleted ()
 
void SetPropertiesAndWait (TArrayView< FPathExistence > QueryPaths, bool bAddToAllowList, bool bForceRescan, bool bIgnoreDenyListScanFilters)
 
bool IsOnAllowList (FStringView LocalAbsPath) const
 
bool IsOnDenyList (FStringView LocalAbsPath) const
 
bool IsMonitored (FStringView LocalAbsPath) const
 
bool IsCacheWriteEnabled () const
 
SIZE_T GetAllocatedSize () const
 
void AddMountPoint (const FString &LocalAbsPath, FStringView LongPackageName, bool &bOutAlreadyExisted)
 
void RemoveMountPoint (const FString &LocalAbsPath)
 
void PrioritizeSearchPath (const FString &LocalAbsPath, EPriority Priority)
 
void TrySetDirectoryProperties (const FString &LocalAbsPath, const FSetPathProperties &Properties, bool bConfirmedExists)
 
void OnDirectoryCreated (FStringView LocalAbsPath)
 
void OnFilesCreated (TConstArrayView< FString > LocalAbsPaths)
 
- Public Member Functions inherited from FRunnable
virtual class FSingleThreadRunnableGetSingleThreadInterface ()
 
virtual ~FRunnable ()
 

Friends

class FMountDir
 
class FScanDir
 

Detailed Description

Subsystem that discovers the files that FAssetDataGatherer should process.

Constructor & Destructor Documentation

◆ FAssetDataDiscovery()

UE::AssetDataGather::Private::FAssetDataDiscovery::FAssetDataDiscovery ( )

◆ ~FAssetDataDiscovery()

UE::AssetDataGather::Private::FAssetDataDiscovery::~FAssetDataDiscovery ( )
virtual

Member Function Documentation

◆ AddMountPoint()

void UE::AssetDataGather::Private::FAssetDataDiscovery::AddMountPoint ( const FString &  LocalAbsPath,
FStringView  LongPackageName,
bool bOutAlreadyExisted 
)

Register the given LocalAbsPath/LongPackageName pair that came from FPackageName's list of mount points as a mountpoint to track. Will not be scanned until allow listed.

◆ EnsureCompletion()

void UE::AssetDataGather::Private::FAssetDataDiscovery::EnsureCompletion ( )

Signals to end the thread and waits for it to close before returning

◆ Exit()

void UE::AssetDataGather::Private::FAssetDataDiscovery::Exit ( void  )
overridevirtual

Exits the runnable object.

Called in the context of the aggregating thread to perform any cleanup.

See also
Init, Run, Stop

Reimplemented from FRunnable.

◆ GetAllocatedSize()

SIZE_T UE::AssetDataGather::Private::FAssetDataDiscovery::GetAllocatedSize ( ) const

Return the memory used by *this. sizeof(*this) is not included.

◆ GetAndTrimSearchResults()

void UE::AssetDataGather::Private::FAssetDataDiscovery::GetAndTrimSearchResults ( bool bOutIsComplete,
TArray< FString > &  OutDiscoveredPaths,
FFilesToSearch OutFilesToSearch,
int32 OutNumPathsToSearch 
)

Gets search results from the file discovery.

◆ GetDiagnostics()

void UE::AssetDataGather::Private::FAssetDataDiscovery::GetDiagnostics ( float OutCumulativeDiscoveryTime,
int32 OutNumCachedDirectories,
int32 OutNumUncachedDirectories 
)

Get diagnostics for telemetry or logging.

◆ Init()

bool UE::AssetDataGather::Private::FAssetDataDiscovery::Init ( void  )
overridevirtual

Initializes the runnable object.

This method is called in the context of the thread object that aggregates this, not the thread that passes this runnable to a new thread.

Returns
True if initialization was successful, false otherwise
See also
Run, Stop, Exit

Reimplemented from FRunnable.

◆ IsCacheWriteEnabled()

bool UE::AssetDataGather::Private::FAssetDataDiscovery::IsCacheWriteEnabled ( ) const

Return whether the discovery cache can be written.

◆ IsIdle()

bool UE::AssetDataGather::Private::FAssetDataDiscovery::IsIdle ( ) const

◆ IsMonitored()

bool UE::AssetDataGather::Private::FAssetDataDiscovery::IsMonitored ( FStringView  LocalAbsPath) const

Return whether the path should or has been scanned because it is on the AllowList and not on the DenyList.

◆ IsOnAllowList()

bool UE::AssetDataGather::Private::FAssetDataDiscovery::IsOnAllowList ( FStringView  LocalAbsPath) const

Return whether the given path is allowed due to e.g. TrySetDirectoryProperties with IsOnAllowList.

◆ IsOnDenyList()

bool UE::AssetDataGather::Private::FAssetDataDiscovery::IsOnDenyList ( FStringView  LocalAbsPath) const

Return whether the given path matches the deny list and has not been marked IgnoreDenyList.

◆ IsSynchronous()

bool UE::AssetDataGather::Private::FAssetDataDiscovery::IsSynchronous ( ) const

◆ OnAdditionalMountSearchCompleted()

void UE::AssetDataGather::Private::FAssetDataDiscovery::OnAdditionalMountSearchCompleted ( )

◆ OnDirectoryCreated()

void UE::AssetDataGather::Private::FAssetDataDiscovery::OnDirectoryCreated ( FStringView  LocalAbsPath)

Event called from the directory watcher when a directory is created. It will be scanned if IsMonitored.

◆ OnFilesCreated()

void UE::AssetDataGather::Private::FAssetDataDiscovery::OnFilesCreated ( TConstArrayView< FString >  LocalAbsPaths)

Event called from the directory watcher when files are created. Each will be reported if IsMonitored.

◆ OnInitialSearchCompleted()

void UE::AssetDataGather::Private::FAssetDataDiscovery::OnInitialSearchCompleted ( )

◆ PrioritizeSearchPath()

void UE::AssetDataGather::Private::FAssetDataDiscovery::PrioritizeSearchPath ( const FString &  LocalAbsPath,
EPriority  Priority 
)

Raise the priority until completion of scans of the given path and its subdirs.

◆ RemoveMountPoint()

void UE::AssetDataGather::Private::FAssetDataDiscovery::RemoveMountPoint ( const FString &  LocalAbsPath)

Remove the mountpoint because FPackageName has removed it.

◆ Run()

uint32 UE::AssetDataGather::Private::FAssetDataDiscovery::Run ( )
overridevirtual

Runs the runnable object.

This is where all per object thread work is done. This is only called if the initialization was successful.

Returns
The exit code of the runnable object
See also
Init, Stop, Exit

Implements FRunnable.

◆ SetPropertiesAndWait()

void UE::AssetDataGather::Private::FAssetDataDiscovery::SetPropertiesAndWait ( TArrayView< FPathExistence QueryPaths,
bool  bAddToAllowList,
bool  bForceRescan,
bool  bIgnoreDenyListScanFilters 
)

Optionally set some scan properties for the given paths and then wait for their scans to finish.

◆ StartAsync()

void UE::AssetDataGather::Private::FAssetDataDiscovery::StartAsync ( )

Start the async thread, if this Gatherer was created async. Does nothing if not async or already started.

◆ Stop()

void UE::AssetDataGather::Private::FAssetDataDiscovery::Stop ( void  )
overridevirtual

Stops the runnable object.

This is called if a thread is requested to terminate early.

See also
Init, Run, Exit

Reimplemented from FRunnable.

◆ TrySetDirectoryProperties()

void UE::AssetDataGather::Private::FAssetDataDiscovery::TrySetDirectoryProperties ( const FString &  LocalAbsPath,
const FSetPathProperties Properties,
bool  bConfirmedExists 
)

Set properties on the directory, called when files are requested to be on an allow/deny list or rescanned.

◆ WaitForIdle()

void UE::AssetDataGather::Private::FAssetDataDiscovery::WaitForIdle ( double  EndTimeSeconds)

Wait (joining in on the tick) until all currently monitored paths have been scanned.

Friends And Related Symbol Documentation

◆ FMountDir

friend class FMountDir
friend

◆ FScanDir

friend class FScanDir
friend

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