FStreamableManager

A native class for managing streaming assets in and keeping them in memory.

Windows
MacOS
Linux

Inheritance Hierarchy

FGCObject

FStreamableManager

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Classes/Engine/StreamableManager.h

Include

#include "Engine/StreamableManager.h"

Syntax

struct FStreamableManager : public FGCObject

Remarks

A native class for managing streaming assets in and keeping them in memory. AssetManager is the global singleton version of this with blueprint access

Constructors

Name Description

Public function

FStreamableManager()

Public function

FStreamableManager

(
    const FStreamableManager&
)

Not safe to copy or duplicate

Destructors

Name Description

Public function

~FStreamableManager()

Functions

Name Description

Public function

TSharedPtr< ...

 

CreateCombinedHandle

(
    const TArray< TSharedPtr< FStreamab...,
    const FString& DebugName
)

Creates a combined handle, which will wait for other handles to complete before completing.

Public function Const

bool

 

GetActiveHandles

(
    const FSoftObjectPath& Target,
    TArray< TSharedRef< FStreamableHand...,
    bool bOnlyManagedHandles
)

Gets list of handles that are directly referencing this asset, returns true if any found.

Public function Const

const FStrin...

 

GetManagerName()

Returns the debug name for this manager

Public function Const

bool

 

IsAsyncLoadComplete

(
    const FSoftObjectPath& Target
)

Returns true if all pending async loads have finished for this target

Public function

TSubclassOf<...

 

LoadSynchronous

(
    const TSoftClassPtr< T >& Target,
    bool bManageActiveHandle,
    TSharedPtr< FStreamableHandle >...
)

Public function

T *

 

LoadSynchronous

(
    const TSoftObjectPtr< T >& Target,
    bool bManageActiveHandle,
    TSharedPtr< FStreamableHandle >...
)

Public function

T *

 

LoadSynchronous

(
    const FSoftObjectPath& Target,
    bool bManageActiveHandle,
    TSharedPtr< FStreamableHandle >...
)

Typed wrappers

Public function

UObject *...

 

LoadSynchronous

(
    const FSoftObjectPath& Target,
    bool bManageActiveHandle,
    TSharedPtr< FStreamableHandle >...
)

Synchronously load the referred asset and return the loaded object, or nullptr if it can't be found.

Public function

TSharedPtr< ...

 

RequestAsyncLoad

(
    const FSoftObjectPath& TargetToStr...,
    TFunction< void()>&& Callback,
    TAsyncLoadPriority Priority,
    bool bManageActiveHandle,
    bool bStartStalled,
    const FString& DebugName
)

Public function

TSharedPtr< ...

 

RequestAsyncLoad

(
    const TArray< FSoftObjectPath >& T...,
    TFunction< void()>&& Callback,
    TAsyncLoadPriority Priority,
    bool bManageActiveHandle,
    bool bStartStalled,
    const FString& DebugName
)

Lambda Wrappers. Be aware that Callback may go off multiple seconds in the future.

Public function

TSharedPtr< ...

 

RequestAsyncLoad

(
    const FSoftObjectPath& TargetToStr...,
    FStreamableDelegate DelegateToCall,
    TAsyncLoadPriority Priority,
    bool bManageActiveHandle,
    bool bStartStalled,
    const FString& DebugName
)

Public function

TSharedPtr< ...

 

RequestAsyncLoad

(
    const TArray< FSoftObjectPath >& T...,
    FStreamableDelegate DelegateToCall,
    TAsyncLoadPriority Priority,
    bool bManageActiveHandle,
    bool bStartStalled,
    const FString& DebugName
)

This is the primary streamable operation.

Public function

TSharedPtr< ...

 

RequestSyncLoad

(
    const FSoftObjectPath& TargetToStr...,
    bool bManageActiveHandle,
    const FString& DebugName
)

Public function

TSharedPtr< ...

 

RequestSyncLoad

(
    const TArray< FSoftObjectPath >& T...,
    bool bManageActiveHandle,
    const FString& DebugName
)

Synchronously load a set of assets, and return a handle.

Public function Const

FSoftObjectP...

 

ResolveRedirects

(
    const FSoftObjectPath& Target
)

Checks for any redirectors that were previously loaded, and returns the redirected target if found.

Public function

void

 

SetManagerName

(
    FString InName
)

Modifies the debug name of this manager, used for debugging GC references

Public function

void

 

Unload

(
    const FSoftObjectPath& Target
)

This will release any managed active handles pointing to the target soft object path, even if they include other requested assets in the same load

Overridden from FGCObject

Name Description

Public function Virtual

void

 

AddReferencedObjects

(
    FReferenceCollector& Collector
)

Add referenced objects to stop them from GCing

Public function Virtual Const

FString

 

GetReferencerName()

Use this method to report a name for your referencer.

Public function Virtual Const

bool

 

GetReferencerPropertyName

(
    UObject* Object,
    FString& OutPropertyName
)

Use this method to report how the specified object is referenced, if necessary

Operators

Name Description

Public function

FStreamableM...

 

operator=

(
    const FStreamableManager&
)

Typedefs

Name

Description

TStreamableMap

Map of paths to streamable objects, this will be the post-redirector name

TStreamableRedirects

Constants

Name

Description

AsyncLoadHighPriority

Priority to try and load immediately.

DefaultAsyncLoadPriority

Default priority for all async loads.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback