UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FSkeletalMeshStreamIn_IO Class Reference

#include <SkeletalMeshUpdate.h>

+ Inheritance diagram for FSkeletalMeshStreamIn_IO:

Classes

class  FCancelIORequestsTask
 

Public Member Functions

 FSkeletalMeshStreamIn_IO (const USkeletalMesh *InMesh, bool bHighPrio, EThreadType CreateResourcesThread)
 
virtual ~FSkeletalMeshStreamIn_IO ()
 
virtual void Abort () override
 
- Public Member Functions inherited from FSkeletalMeshStreamIn
UE_API FSkeletalMeshStreamIn (const USkeletalMesh *InMesh, EThreadType CreateResourcesThread)
 
virtual UE_API ~FSkeletalMeshStreamIn ()
 
- Public Member Functions inherited from FSkeletalMeshUpdate
 FSkeletalMeshUpdate (const USkeletalMesh *InMesh)
 
virtual ~FSkeletalMeshUpdate ()
 
- Public Member Functions inherited from TRenderAssetUpdate< FSkelMeshUpdateContext >
 TRenderAssetUpdate (const UStreamableRenderAsset *InAsset)
 
void PushTask (const FContext &Context, EThreadType InTaskThread, const FCallback &InTaskCallback, EThreadType InCancelationThread, const FCallback &InCancelationCallback)
 
EThreadType GetRelevantThread () const final override
 
- Public Member Functions inherited from FRenderAssetUpdate
UE_API FRenderAssetUpdate (const UStreamableRenderAsset *InAsset)
 
UE_API void Tick (EThreadType InCurrentThread)
 
bool IsCompleted () const
 
virtual bool CanAbandon () const
 
virtual void OnAbandoned ()
 
bool IsCancelled () const
 
bool IsSuccessfullyFinished () const
 
UE_API ETaskState DoLock ()
 
UE_API void DoUnlock (ETaskState PreviousTaskState)
 
bool IsLocked () const
 
FReturnedRefCountValue AddRef () const final override
 
UE_API uint32 Release () const final override
 
uint32 GetRefCount () const final override
 
- Public Member Functions inherited from IRefCountedObject
virtual ~IRefCountedObject ()
 

Protected Types

typedef FAutoDeleteAsyncTask< FCancelIORequestsTaskFAsyncCancelIORequestsTask
 
- Protected Types inherited from FRenderAssetUpdate
typedef FAutoDeleteAsyncTask< FMipUpdateTaskFAsyncMipUpdateTask
 

Protected Member Functions

void SetIORequest (const FContext &Context)
 
void ClearIORequest (const FContext &Context)
 
void ReportIOError (const FContext &Context)
 
void SerializeLODData (const FContext &Context)
 
void Cancel (const FContext &Context)
 
void CancelIORequest ()
 
void DoInitiateIO (const FContext &Context)
 
void DoSerializeLODData (const FContext &Context)
 
void DoCreateBuffers (const FContext &Context)
 
void DoCancelIO (const FContext &Context)
 
- Protected Member Functions inherited from FSkeletalMeshStreamIn
UE_API void CreateBuffers (const FContext &Context)
 
UE_API void DiscardNewLODs (const FContext &Context)
 
UE_API void DoFinishUpdate (const FContext &Context)
 
UE_API void DoCancel (const FContext &Context)
 
- Protected Member Functions inherited from TRenderAssetUpdate< FSkelMeshUpdateContext >
ETaskState TickInternal (EThreadType InCurrentThread, bool bCheckForSuspension) final override
 
void ClearCallbacks ()
 
- Protected Member Functions inherited from FRenderAssetUpdate
virtual UE_API ~FRenderAssetUpdate ()
 
void MarkAsCancelled ()
 
void MarkAsSuccessfullyFinished ()
 
UE_API void ScheduleGTTask ()
 
UE_API void ScheduleRenderTask ()
 
UE_API void ScheduleAsyncTask ()
 

Protected Attributes

FBulkDataBatchRequest BulkDataRequest
 
FIoBuffer BulkData
 
bool bHighPrioIORequest
 
bool bFailedOnIOError = false
 
- Protected Attributes inherited from FSkeletalMeshStreamIn
FIntermediateBuffers IntermediateBuffersArray [MAX_MESH_LOD_COUNT]
 
FRHICommandListStreamingRHICmdList = nullptr
 
const EThreadType CreateResourcesThread
 
- Protected Attributes inherited from TRenderAssetUpdate< FSkelMeshUpdateContext >
EThreadType TaskThread
 
FCallback TaskCallback
 
EThreadType CancelationThread
 
FCallback CancelationCallback
 
- Protected Attributes inherited from FRenderAssetUpdate
const FStreamableRenderResourceState ResourceState
 
const int32 CurrentFirstLODIdx = INDEX_NONE
 
const int32 PendingFirstLODIdx = INDEX_NONE
 
FCriticalSection CS
 
int32 ScheduledGTTasks
 
int32 ScheduledRenderTasks
 
int32 ScheduledAsyncTasks
 
const UStreamableRenderAssetStreamableAsset = nullptr
 
FThreadSafeCounter TaskSynchronization
 
bool bIsCancelled
 
bool bDeferExecution
 
bool bSuccess
 
volatile ETaskState TaskState
 

Friends

class FCancelIORequestsTask
 

Additional Inherited Members

- Public Types inherited from TRenderAssetUpdate< FSkelMeshUpdateContext >
typedef FSkelMeshUpdateContext FContext
 
typedef TFunction< void(const FContext &Context)> FCallback
 
- Public Types inherited from FRenderAssetUpdate
enum  EThreadType {
  TT_None , TT_Render , TT_Async , TT_GameThread ,
  TT_GameRunningAsync
}
 
enum  ETaskState {
  TS_Done , TS_Suspended , TS_InProgress , TS_Locked ,
  TS_Init
}
 

Member Typedef Documentation

◆ FAsyncCancelIORequestsTask

Constructor & Destructor Documentation

◆ FSkeletalMeshStreamIn_IO()

FSkeletalMeshStreamIn_IO::FSkeletalMeshStreamIn_IO ( const USkeletalMesh InMesh,
bool  bHighPrio,
EThreadType  CreateResourcesThread 
)

◆ ~FSkeletalMeshStreamIn_IO()

virtual FSkeletalMeshStreamIn_IO::~FSkeletalMeshStreamIn_IO ( )
inlinevirtual

Member Function Documentation

◆ Abort()

void FSkeletalMeshStreamIn_IO::Abort ( )
overridevirtual

Cancel the current update. Will also attempt to cancel pending IO requests, see FTexture2DStreamIn_IO::Abort(). This is called outside of the update loop when a cancelation is required for external events.

Reimplemented from FSkeletalMeshUpdate.

◆ Cancel()

void FSkeletalMeshStreamIn_IO::Cancel ( const FContext Context)
protected

Cancel and report IO error

◆ CancelIORequest()

void FSkeletalMeshStreamIn_IO::CancelIORequest ( )
protected

Called by FAsyncCancelIORequestsTask to cancel inflight IO request if any

◆ ClearIORequest()

void FSkeletalMeshStreamIn_IO::ClearIORequest ( const FContext Context)
protected

Release IORequest and IOFileHandle. IORequest will be cancelled if still inflight

◆ DoCancelIO()

void FSkeletalMeshStreamIn_IO::DoCancelIO ( const FContext Context)
protected

◆ DoCreateBuffers()

void FSkeletalMeshStreamIn_IO::DoCreateBuffers ( const FContext Context)
protected

◆ DoInitiateIO()

void FSkeletalMeshStreamIn_IO::DoInitiateIO ( const FContext Context)
protected

◆ DoSerializeLODData()

void FSkeletalMeshStreamIn_IO::DoSerializeLODData ( const FContext Context)
protected

◆ ReportIOError()

void FSkeletalMeshStreamIn_IO::ReportIOError ( const FContext Context)
protected

Report IO errors if any.

◆ SerializeLODData()

void FSkeletalMeshStreamIn_IO::SerializeLODData ( const FContext Context)
protected

Serialize data of new LODs to corresponding FStaticMeshLODResources

◆ SetIORequest()

void FSkeletalMeshStreamIn_IO::SetIORequest ( const FContext Context)
protected

Create a new async IO request to read in LOD data

Friends And Related Symbol Documentation

◆ FCancelIORequestsTask

Member Data Documentation

◆ bFailedOnIOError

bool FSkeletalMeshStreamIn_IO::bFailedOnIOError = false
protected

◆ bHighPrioIORequest

bool FSkeletalMeshStreamIn_IO::bHighPrioIORequest
protected

◆ BulkData

FIoBuffer FSkeletalMeshStreamIn_IO::BulkData
protected

Bulk data I/O buffer

◆ BulkDataRequest

FBulkDataBatchRequest FSkeletalMeshStreamIn_IO::BulkDataRequest
protected

Handle to bulk data I/O request


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