UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IRenderAssetStreamingManager Struct Referenceabstract

#include <ContentStreaming.h>

+ Inheritance diagram for IRenderAssetStreamingManager:

Public Member Functions

virtual void UpdateIndividualRenderAsset (UStreamableRenderAsset *RenderAsset)=0
 
virtual bool FastForceFullyResident (UStreamableRenderAsset *RenderAsset)=0
 
virtual void BoostTextures (AActor *Actor, float BoostFactor)=0
 
virtual bool StreamOutRenderAssetData (int64 RequiredMemorySize)=0
 
virtual void AddStreamingRenderAsset (UStreamableRenderAsset *RenderAsset)=0
 
virtual void RemoveStreamingRenderAsset (UStreamableRenderAsset *RenderAsset)=0
 
virtual bool IsFullyStreamedIn (UStreamableRenderAsset *RenderAsset)=0
 
virtual int64 GetMemoryOverBudget () const =0
 
virtual int64 GetPoolSize () const =0
 
virtual int64 GetRequiredPoolSize () const =0
 
virtual int64 GetMaxEverRequired () const =0
 
virtual float GetCachedMips () const =0
 
virtual void ResetMaxEverRequired ()=0
 
virtual void PauseRenderAssetStreaming (bool bInShouldPause)=0
 
virtual void GetObjectReferenceBounds (const UObject *RefObject, TArray< FBox > &AssetBoxes)=0
 
virtual void GetAssetComponents (const UStreamableRenderAsset *RenderAsset, TArray< const UPrimitiveComponent * > &OutComps, TFunction< bool(const UPrimitiveComponent *)> ShouldChoose=ShouldChooseDefault)=0
 
ENGINE_API void UpdateIndividualTexture (UTexture2D *Texture)
 
ENGINE_API bool StreamOutTextureData (int64 RequiredMemorySize)
 
ENGINE_API void AddStreamingTexture (UTexture2D *Texture)
 
ENGINE_API void RemoveStreamingTexture (UTexture2D *Texture)
 
ENGINE_API void PauseTextureStreaming (bool bInShouldPause)
 
virtual void MarkMountedStateDirty (FIoFilenameHash FilenameHash)=0
 
virtual void AddRenderedTextureStats (TMap< FString, FRenderedTextureStats > &InOutRenderedTextureAssets)=0
 
virtual void OnRenderAssetUpdateAbandoned (UStreamableRenderAsset *OwningRenderAsset, TRefCountPtr< FRenderAssetUpdate > &RenderAssetUpdate)=0
 
- Public Member Functions inherited from IStreamingManager
 IStreamingManager ()
 
virtual ~IStreamingManager ()
 
virtual ENGINE_API void Tick (float DeltaTime, bool bProcessEverything=false)
 
virtual void UpdateResourceStreaming (float DeltaTime, bool bProcessEverything=false)=0
 
virtual ENGINE_API int32 StreamAllResources (float TimeLimit=0.0f)
 
virtual int32 BlockTillAllRequestsFinished (float TimeLimit=0.0f, bool bLogResults=false)=0
 
virtual void CancelForcedResources ()=0
 
virtual void NotifyLevelChange ()=0
 
void RemoveStreamingViews (ERemoveStreamingViews RemovalType)
 
ENGINE_API void AddViewInformation (const FVector &ViewOrigin, float ScreenSize, float FOVScreenSize, float BoostFactor=1.0f, bool bOverrideLocation=false, float Duration=0.0f, TWeakObjectPtr< AActor > InActorToBoost=NULL, TWeakObjectPtr< UWorld > InWorld=NULL)
 
ENGINE_API void AddViewLocation (const FVector &Location, float BoostFactor=1.0f, bool bOverrideLocation=false, float Duration=0.0f)
 
virtual void SetDisregardWorldResourcesForFrames (int32 NumFrames)=0
 
virtual bool Exec (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 
virtual void AddLevel (class ULevel *Level)=0
 
virtual void RemoveLevel (class ULevel *Level)=0
 
virtual void NotifyLevelOffset (class ULevel *Level, const FVector &Offset)=0
 
virtual void NotifyActorDestroyed (AActor *Actor)
 
virtual void NotifyPrimitiveDetached (const UPrimitiveComponent *Primitive)
 
virtual void NotifyPrimitiveUpdated (const UPrimitiveComponent *Primitive)
 
virtual void NotifyPrimitiveUpdated_Concurrent (const UPrimitiveComponent *Primitive)
 
int32 GetNumViews () const
 
const FStreamingViewInfoGetViewInformation (int32 ViewIndex) const
 
virtual int32 GetNumWantingResources () const
 
virtual int32 GetNumWantingResourcesID () const
 
virtual void PropagateLightingScenarioChange ()
 

Static Public Attributes

static constexpr auto ShouldChooseDefault = [](const UPrimitiveComponent*) { return true; }
 

Additional Inherited Members

- Static Public Member Functions inherited from IStreamingManager
static ENGINE_API struct FStreamingManagerCollectionGet ()
 
static ENGINE_API struct FStreamingManagerCollectionGet_Concurrent ()
 
static ENGINE_API void Shutdown ()
 
static ENGINE_API bool HasShutdown ()
 
- Protected Member Functions inherited from IStreamingManager
void SetupViewInfos (float DeltaTime)
 
- Static Protected Member Functions inherited from IStreamingManager
static void AddViewInfoToArray (TArray< FStreamingViewInfo > &ViewInfos, const FVector &ViewOrigin, float ScreenSize, float FOVScreenSize, float BoostFactor, bool bOverrideLocation, float Duration, TWeakObjectPtr< AActor > InActorToBoost, TWeakObjectPtr< UWorld > InWorld)
 
static void RemoveViewInfoFromArray (TArray< FStreamingViewInfo > &ViewInfos, const FVector &ViewOrigin)
 
- Protected Attributes inherited from IStreamingManager
int32 NumWantingResources
 
int32 NumWantingResourcesCounter
 
- Static Protected Attributes inherited from IStreamingManager
static ENGINE_API TArray< FStreamingViewInfoCurrentViewInfos
 
static TArray< FStreamingViewInfoPendingViewInfos
 
static TArray< FStreamingViewInfoLastingViewInfos
 
static TArray< FSecondaryLocationSecondaryLocations
 
static bool bPendingRemoveViews = false
 

Detailed Description

Interface to add functions specifically related to texture/mesh streaming

Member Function Documentation

◆ AddRenderedTextureStats()

virtual void IRenderAssetStreamingManager::AddRenderedTextureStats ( TMap< FString, FRenderedTextureStats > &  InOutRenderedTextureAssets)
pure virtual

◆ AddStreamingRenderAsset()

virtual void IRenderAssetStreamingManager::AddStreamingRenderAsset ( UStreamableRenderAsset RenderAsset)
pure virtual

Adds a new texture/mesh to the streaming manager.

Implemented in FRenderAssetStreamingManager.

◆ AddStreamingTexture()

void IRenderAssetStreamingManager::AddStreamingTexture ( UTexture2D Texture)

◆ BoostTextures()

virtual void IRenderAssetStreamingManager::BoostTextures ( AActor Actor,
float  BoostFactor 
)
pure virtual

Temporarily boosts the streaming distance factor by the specified number. This factor is automatically reset to 1.0 after it's been used for mip-calculations.

◆ FastForceFullyResident()

virtual bool IRenderAssetStreamingManager::FastForceFullyResident ( UStreamableRenderAsset RenderAsset)
pure virtual

Stream in non-resident mips for an asset ASAP. Returns true if streaming request will be successful.

Implemented in FRenderAssetStreamingManager.

◆ GetAssetComponents()

virtual void IRenderAssetStreamingManager::GetAssetComponents ( const UStreamableRenderAsset RenderAsset,
TArray< const UPrimitiveComponent * > &  OutComps,
TFunction< bool(const UPrimitiveComponent *)>  ShouldChoose = ShouldChooseDefault 
)
pure virtual

Return all components referencing the asset

Implemented in FRenderAssetStreamingManager.

◆ GetCachedMips()

virtual float IRenderAssetStreamingManager::GetCachedMips ( ) const
pure virtual

Amount of memory cached in pool

Implemented in FRenderAssetStreamingManager.

◆ GetMaxEverRequired()

virtual int64 IRenderAssetStreamingManager::GetMaxEverRequired ( ) const
pure virtual

Max required textures/meshes ever seen in bytes.

Implemented in FRenderAssetStreamingManager.

◆ GetMemoryOverBudget()

virtual int64 IRenderAssetStreamingManager::GetMemoryOverBudget ( ) const
pure virtual

◆ GetObjectReferenceBounds()

virtual void IRenderAssetStreamingManager::GetObjectReferenceBounds ( const UObject RefObject,
TArray< FBox > &  AssetBoxes 
)
pure virtual

Return all bounds related to the ref object

Implemented in FRenderAssetStreamingManager.

◆ GetPoolSize()

virtual int64 IRenderAssetStreamingManager::GetPoolSize ( ) const
pure virtual

Pool size for streaming.

Implemented in FRenderAssetStreamingManager.

◆ GetRequiredPoolSize()

virtual int64 IRenderAssetStreamingManager::GetRequiredPoolSize ( ) const
pure virtual

Estimated memory in bytes the streamer would use if there was no limit

Implemented in FRenderAssetStreamingManager.

◆ IsFullyStreamedIn()

virtual bool IRenderAssetStreamingManager::IsFullyStreamedIn ( UStreamableRenderAsset RenderAsset)
pure virtual

Check whether all runtime-allowed LODs have been loaded.

Implemented in FRenderAssetStreamingManager.

◆ MarkMountedStateDirty()

virtual void IRenderAssetStreamingManager::MarkMountedStateDirty ( FIoFilenameHash  FilenameHash)
pure virtual

Notify the streamer that the mounted state of a file needs to be re-evaluated.

◆ OnRenderAssetUpdateAbandoned()

virtual void IRenderAssetStreamingManager::OnRenderAssetUpdateAbandoned ( UStreamableRenderAsset OwningRenderAsset,
TRefCountPtr< FRenderAssetUpdate > &  RenderAssetUpdate 
)
pure virtual

◆ PauseRenderAssetStreaming()

virtual void IRenderAssetStreamingManager::PauseRenderAssetStreaming ( bool  bInShouldPause)
pure virtual

Set current pause state for texture/mesh streaming

Implemented in FRenderAssetStreamingManager.

◆ PauseTextureStreaming()

void IRenderAssetStreamingManager::PauseTextureStreaming ( bool  bInShouldPause)

◆ RemoveStreamingRenderAsset()

virtual void IRenderAssetStreamingManager::RemoveStreamingRenderAsset ( UStreamableRenderAsset RenderAsset)
pure virtual

Removes a texture/mesh from the streaming manager.

Implemented in FRenderAssetStreamingManager.

◆ RemoveStreamingTexture()

void IRenderAssetStreamingManager::RemoveStreamingTexture ( UTexture2D Texture)

◆ ResetMaxEverRequired()

virtual void IRenderAssetStreamingManager::ResetMaxEverRequired ( )
pure virtual

Resets the max ever required textures/meshes. For possibly when changing resolutions or screen pct.

Implemented in FRenderAssetStreamingManager.

◆ StreamOutRenderAssetData()

virtual bool IRenderAssetStreamingManager::StreamOutRenderAssetData ( int64  RequiredMemorySize)
pure virtual

Try to stream out texture/mesh mip-levels to free up more memory.

Parameters
RequiredMemorySize- Required minimum available texture memory
Returns
- Whether it succeeded or not

Implemented in FRenderAssetStreamingManager.

◆ StreamOutTextureData()

bool IRenderAssetStreamingManager::StreamOutTextureData ( int64  RequiredMemorySize)

◆ UpdateIndividualRenderAsset()

virtual void IRenderAssetStreamingManager::UpdateIndividualRenderAsset ( UStreamableRenderAsset RenderAsset)
pure virtual

Updates streaming for an individual texture/mesh, taking into account all view infos.

Parameters
RenderAssetTexture or mesh to update

Implemented in FRenderAssetStreamingManager.

◆ UpdateIndividualTexture()

void IRenderAssetStreamingManager::UpdateIndividualTexture ( UTexture2D Texture)

Member Data Documentation

◆ ShouldChooseDefault

constexpr auto IRenderAssetStreamingManager::ShouldChooseDefault = [](const UPrimitiveComponent*) { return true; }
staticconstexpr

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