UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FStreamingManagerCollection Struct Reference

#include <ContentStreaming.h>

+ Inheritance diagram for FStreamingManagerCollection:

Public Member Functions

ENGINE_API FStreamingManagerCollection ()
 
ENGINE_API ~FStreamingManagerCollection ()
 
virtual ENGINE_API void Tick (float DeltaTime, bool bProcessEverything=false) override
 
virtual void UpdateResourceStreaming (float DeltaTime, bool bProcessEverything=false) override
 
virtual int32 StreamAllResources (float TimeLimit=0.0f) override
 
virtual int32 BlockTillAllRequestsFinished (float TimeLimit=0.0f, bool bLogResults=false) override
 
virtual int32 GetNumWantingResources () const override
 
virtual int32 GetNumWantingResourcesID () const override
 
virtual void CancelForcedResources () override
 
virtual void NotifyLevelChange () override
 
ENGINE_API bool IsStreamingEnabled () const
 
ENGINE_API bool IsTextureStreamingEnabled () const
 
ENGINE_API bool IsRenderAssetStreamingEnabled (EStreamableRenderAssetType FilteredAssetType) const
 
ENGINE_API IRenderAssetStreamingManagerGetTextureStreamingManager () const
 
ENGINE_API IRenderAssetStreamingManagerGetRenderAssetStreamingManager () const
 
ENGINE_API IAudioStreamingManagerGetAudioStreamingManager () const
 
ENGINE_API IAnimationStreamingManagerGetAnimationStreamingManager () const
 
ENGINE_API struct FVirtualTextureChunkStreamingManagerGetVirtualTextureStreamingManager () const
 
ENGINE_API Nanite::FCoarseMeshStreamingManagerGetNaniteCoarseMeshStreamingManager () const
 
ENGINE_API void AddStreamingManager (IStreamingManager *StreamingManager)
 
ENGINE_API void RemoveStreamingManager (IStreamingManager *StreamingManager)
 
void SetNumIterationsForNextFrame (int32 NumIterations)
 
virtual void SetDisregardWorldResourcesForFrames (int32 NumFrames) override
 
void DisableResourceStreaming ()
 
void EnableResourceStreaming ()
 
virtual bool Exec (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar) override
 
virtual void AddLevel (class ULevel *Level) override
 
virtual void RemoveLevel (class ULevel *Level) override
 
virtual void NotifyLevelOffset (class ULevel *Level, const FVector &Offset) override
 
virtual void NotifyActorDestroyed (AActor *Actor) override
 
virtual void NotifyPrimitiveDetached (const UPrimitiveComponent *Primitive) override
 
virtual void NotifyPrimitiveUpdated (const UPrimitiveComponent *Primitive) override
 
virtual void NotifyPrimitiveUpdated_Concurrent (const UPrimitiveComponent *Primitive) override
 
void PropagateLightingScenarioChange () override
 
- Public Member Functions inherited from IStreamingManager
 IStreamingManager ()
 
virtual ~IStreamingManager ()
 
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)
 
int32 GetNumViews () const
 
const FStreamingViewInfoGetViewInformation (int32 ViewIndex) const
 

Protected Member Functions

virtual void AddOrRemoveTextureStreamingManagerIfNeeded (bool bIsInit=false)
 
- Protected Member Functions inherited from IStreamingManager
void SetupViewInfos (float DeltaTime)
 

Protected Attributes

TArray< IStreamingManager * > StreamingManagers
 
int32 NumIterations
 
int32 DisableResourceStreamingCount
 
float LoadMapTimeLimit
 
FRenderAssetStreamingManagerRenderAssetStreamingManager
 
IAudioStreamingManagerAudioStreamingManager
 
IAnimationStreamingManagerAnimationStreamingManager
 
FVirtualTextureChunkStreamingManagerVirtualTextureStreamingManager
 
Nanite::FCoarseMeshStreamingManagerNaniteCoarseMeshStreamingManager
 
- Protected Attributes inherited from IStreamingManager
int32 NumWantingResources
 
int32 NumWantingResourcesCounter
 

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 ()
 
- 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)
 
- 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

Streaming manager collection, routing function calls to streaming managers that have been added via AddStreamingManager.

Constructor & Destructor Documentation

◆ FStreamingManagerCollection()

FStreamingManagerCollection::FStreamingManagerCollection ( )

Default constructor, initializing all member variables.

◆ ~FStreamingManagerCollection()

FStreamingManagerCollection::~FStreamingManagerCollection ( )

Member Function Documentation

◆ AddLevel()

void FStreamingManagerCollection::AddLevel ( class ULevel Level)
overridevirtual

Adds a ULevel to the streaming manager.

Implements IStreamingManager.

◆ AddOrRemoveTextureStreamingManagerIfNeeded()

void FStreamingManagerCollection::AddOrRemoveTextureStreamingManagerIfNeeded ( bool  bIsInit = false)
protectedvirtual

◆ AddStreamingManager()

void FStreamingManagerCollection::AddStreamingManager ( IStreamingManager StreamingManager)

Adds a streaming manager to the array of managers to route function calls to.

Parameters
StreamingManagerStreaming manager to add

◆ BlockTillAllRequestsFinished()

int32 FStreamingManagerCollection::BlockTillAllRequestsFinished ( float  TimeLimit = 0.0f,
bool  bLogResults = false 
)
overridevirtual

Blocks till all pending requests are fulfilled.

Parameters
TimeLimitOptional time limit for processing, in seconds. Specifying 0 means infinite time limit.
bLogResultsWhether to dump the results to the log.
Returns
Number of streaming requests still in flight, if the time limit was reached before they were finished.

Implements IStreamingManager.

◆ CancelForcedResources()

void FStreamingManagerCollection::CancelForcedResources ( )
overridevirtual

Cancels the timed Forced resources (i.e used the Kismet action "Stream In Textures").

Implements IStreamingManager.

◆ DisableResourceStreaming()

void FStreamingManagerCollection::DisableResourceStreaming ( )

Disables resource streaming. Enable with EnableResourceStreaming. Disable/enable can be called multiple times nested

◆ EnableResourceStreaming()

void FStreamingManagerCollection::EnableResourceStreaming ( )

Enables resource streaming, previously disabled with enableResourceStreaming. Disable/enable can be called multiple times nested (this will only actually enable when all disables are matched with enables)

◆ Exec()

bool FStreamingManagerCollection::Exec ( UWorld InWorld,
const TCHAR Cmd,
FOutputDevice Ar 
)
overridevirtual

Allows the streaming manager to process exec commands.

Parameters
InWorldWorld context
CmdExec command
ArOutput device for feedback
Returns
true if the command was handled

Allows the streaming manager to process exec commands.

Parameters
CmdExec command
ArOutput device for feedback
Returns
true if the command was handled

Reimplemented from IStreamingManager.

◆ GetAnimationStreamingManager()

IAnimationStreamingManager & FStreamingManagerCollection::GetAnimationStreamingManager ( ) const

Gets a reference to the Animation Streaming Manager interface

◆ GetAudioStreamingManager()

IAudioStreamingManager & FStreamingManagerCollection::GetAudioStreamingManager ( ) const

Gets a reference to the Audio Streaming Manager interface

◆ GetNaniteCoarseMeshStreamingManager()

Nanite::FCoarseMeshStreamingManager * FStreamingManagerCollection::GetNaniteCoarseMeshStreamingManager ( ) const

Gets a reference to the Nanite Coarse Mesh Streaming Manager

◆ GetNumWantingResources()

int32 FStreamingManagerCollection::GetNumWantingResources ( ) const
overridevirtual

Returns the number of resources that currently wants to be streamed in.

Reimplemented from IStreamingManager.

◆ GetNumWantingResourcesID()

int32 FStreamingManagerCollection::GetNumWantingResourcesID ( ) const
overridevirtual

Returns the current ID for GetNumWantingResources(). The ID is bumped every time NumWantingResources is updated by the streaming system (every few frames). Can be used to verify that any changes have been fully examined, by comparing current ID with what it was when the changes were made.

Reimplemented from IStreamingManager.

◆ GetRenderAssetStreamingManager()

IRenderAssetStreamingManager & FStreamingManagerCollection::GetRenderAssetStreamingManager ( ) const

Get the streaming manager for textures and meshes

◆ GetTextureStreamingManager()

IRenderAssetStreamingManager & FStreamingManagerCollection::GetTextureStreamingManager ( ) const

Gets a reference to the Texture Streaming Manager interface

◆ GetVirtualTextureStreamingManager()

FVirtualTextureChunkStreamingManager & FStreamingManagerCollection::GetVirtualTextureStreamingManager ( ) const

Gets a reference to the Virtual Texture Streaming Manager

◆ IsRenderAssetStreamingEnabled()

bool FStreamingManagerCollection::IsRenderAssetStreamingEnabled ( EStreamableRenderAssetType  FilteredAssetType) const

Checks whether texture/mesh streaming is enabled

◆ IsStreamingEnabled()

bool FStreamingManagerCollection::IsStreamingEnabled ( ) const

Checks whether any kind of streaming is active

◆ IsTextureStreamingEnabled()

bool FStreamingManagerCollection::IsTextureStreamingEnabled ( ) const

Checks whether texture streaming is enabled.

◆ NotifyActorDestroyed()

void FStreamingManagerCollection::NotifyActorDestroyed ( AActor Actor)
overridevirtual

Called when a spawned actor is destroyed.

Reimplemented from IStreamingManager.

◆ NotifyLevelChange()

void FStreamingManagerCollection::NotifyLevelChange ( )
overridevirtual

Notifies manager of "level" change.

Notifies managers of "level" change.

Implements IStreamingManager.

◆ NotifyLevelOffset()

void FStreamingManagerCollection::NotifyLevelOffset ( class ULevel Level,
const FVector Offset 
)
overridevirtual

Notifies manager that level primitives were shifted

Implements IStreamingManager.

◆ NotifyPrimitiveDetached()

void FStreamingManagerCollection::NotifyPrimitiveDetached ( const UPrimitiveComponent *  Primitive)
overridevirtual

Called when a primitive is detached from an actor or another component.

Reimplemented from IStreamingManager.

◆ NotifyPrimitiveUpdated()

void FStreamingManagerCollection::NotifyPrimitiveUpdated ( const UPrimitiveComponent *  Primitive)
overridevirtual

Called when a primitive streaming data needs to be updated.

Reimplemented from IStreamingManager.

◆ NotifyPrimitiveUpdated_Concurrent()

void FStreamingManagerCollection::NotifyPrimitiveUpdated_Concurrent ( const UPrimitiveComponent *  Primitive)
overridevirtual

Called when a primitive streaming data needs to be updated in the last stage of the frame.

Reimplemented from IStreamingManager.

◆ PropagateLightingScenarioChange()

void FStreamingManagerCollection::PropagateLightingScenarioChange ( )
overridevirtual

Propagates a change to the active lighting scenario.

Reimplemented from IStreamingManager.

◆ RemoveLevel()

void FStreamingManagerCollection::RemoveLevel ( class ULevel Level)
overridevirtual

Removes a ULevel from the streaming manager.

Implements IStreamingManager.

◆ RemoveStreamingManager()

void FStreamingManagerCollection::RemoveStreamingManager ( IStreamingManager StreamingManager)

Removes a streaming manager from the array of managers to route function calls to.

Parameters
StreamingManagerStreaming manager to remove

◆ SetDisregardWorldResourcesForFrames()

void FStreamingManagerCollection::SetDisregardWorldResourcesForFrames ( int32  NumFrames)
overridevirtual

Don't stream world resources for the next NumFrames.

Implements IStreamingManager.

◆ SetNumIterationsForNextFrame()

void FStreamingManagerCollection::SetNumIterationsForNextFrame ( int32  InNumIterations)

Sets the number of iterations to use for the next time UpdateResourceStreaming is being called. This is being reset to 1 afterwards.

Parameters
NumIterationsNumber of iterations to perform the next time UpdateResourceStreaming is being called.

Sets the number of iterations to use for the next time UpdateResourceStreaming is being called. This is being reset to 1 afterwards.

Parameters
InNumIterationsNumber of iterations to perform the next time UpdateResourceStreaming is being called.

◆ StreamAllResources()

int32 FStreamingManagerCollection::StreamAllResources ( float  TimeLimit = 0.0f)
overridevirtual

Streams in/out all resources that wants to and blocks until it's done.

Parameters
TimeLimitMaximum number of seconds to wait for streaming I/O. If zero, uses .ini setting
Returns
Number of streaming requests still in flight, if the time limit was reached before they were finished.

Reimplemented from IStreamingManager.

◆ Tick()

void FStreamingManagerCollection::Tick ( float  DeltaTime,
bool  bProcessEverything = false 
)
overridevirtual

Calls UpdateResourceStreaming(), and does per-frame cleaning. Call once per frame.

Parameters
DeltaTimeTime since last call in seconds
bProcessEverything[opt] If true, process all resources with no throttling limits

Reimplemented from IStreamingManager.

◆ UpdateResourceStreaming()

void FStreamingManagerCollection::UpdateResourceStreaming ( float  DeltaTime,
bool  bProcessEverything = false 
)
overridevirtual

Updates streaming, taking into account all current view infos. Can be called multiple times per frame.

Parameters
DeltaTimeTime since last call in seconds
bProcessEverything[opt] If true, process all resources with no throttling limits

Implements IStreamingManager.

Member Data Documentation

◆ AnimationStreamingManager

IAnimationStreamingManager* FStreamingManagerCollection::AnimationStreamingManager
protected

The animation streaming manager, should always exist

◆ AudioStreamingManager

IAudioStreamingManager* FStreamingManagerCollection::AudioStreamingManager
protected

The audio streaming manager, should always exist

◆ DisableResourceStreamingCount

int32 FStreamingManagerCollection::DisableResourceStreamingCount
protected

Count of how many nested DisableResourceStreaming's were called - will enable when this is 0

◆ LoadMapTimeLimit

float FStreamingManagerCollection::LoadMapTimeLimit
protected

Maximum number of seconds to block in StreamAllResources(), by default (.ini setting).

◆ NaniteCoarseMeshStreamingManager

Nanite::FCoarseMeshStreamingManager* FStreamingManagerCollection::NaniteCoarseMeshStreamingManager
protected

The nanite coarse mesh streaming manager, should always exist

◆ NumIterations

int32 FStreamingManagerCollection::NumIterations
protected

Number of iterations to perform. Gets reset to 1 each frame.

◆ RenderAssetStreamingManager

FRenderAssetStreamingManager* FStreamingManagerCollection::RenderAssetStreamingManager
protected

The currently added texture streaming manager. Can be NULL

◆ StreamingManagers

TArray<IStreamingManager*> FStreamingManagerCollection::StreamingManagers
protected

Array of streaming managers to route function calls to

◆ VirtualTextureStreamingManager

FVirtualTextureChunkStreamingManager* FStreamingManagerCollection::VirtualTextureStreamingManager
protected

The virtual texture streaming manager, should always exist


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