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

#include <TrackedActivity.h>

+ Inheritance diagram for FTrackedActivity:

Classes

struct  FInfo
 

Public Types

enum class  EType { Activity , Info , Debug }
 
enum class  EEvent : int32 { Added = 1 , Removed = 2 , Changed = 3 }
 
using ELight = ETrackedActivityLight
 

Public Member Functions

CORE_API FTrackedActivity (const TCHAR *Name, const TCHAR *Status=TEXT(""), ELight Light=ELight::None, EType Type=EType::Activity, int32 SortValue=100)
 
CORE_API ~FTrackedActivity ()
 
CORE_API uint32 Push (const TCHAR *Status, bool bShowParent=false, ELight Light=ELight::Inherit)
 
CORE_API void Pop ()
 
CORE_API void Update (const TCHAR *Status, uint32 Index=~0u)
 
CORE_API void Update (const TCHAR *Status, ELight Light, uint32 Index=~0u)
 
CORE_API void Update (ELight Light, uint32 Index=~0u)
 
- Public Member Functions inherited from TSharedFromThis< FTrackedActivity >
TSharedRef< FTrackedActivity, Mode > AsShared ()
 
TSharedRef< FTrackedActivity const, Mode > AsShared () const
 
TSharedRef< SubobjectType, Mode > AsSharedSubobject (SubobjectType *SubobjectPtr) const
 
TWeakPtr< FTrackedActivity, Mode > AsWeak ()
 
TWeakPtr< FTrackedActivity const, Mode > AsWeak () const
 
TWeakPtr< SubobjectType, Mode > AsWeakSubobject (SubobjectType *SubobjectPtr) const
 
void UpdateWeakReferenceInternal (TSharedPtr< SharedPtrType, SharedPtrMode > const *InSharedPtr, OtherType *InObject) const
 
void UpdateWeakReferenceInternal (TSharedRef< SharedRefType, SharedPtrMode > const *InSharedRef, OtherType *InObject) const
 
UE_FORCEINLINE_HINT bool DoesSharedInstanceExist () const
 

Static Public Member Functions

static CORE_API FTrackedActivityGetEngineActivity ()
 
static CORE_API FTrackedActivityGetIOActivity ()
 
static CORE_API void TraverseActivities (const TFunction< void(const FInfo &Info)> &Func)
 
static CORE_API void RegisterEventListener (TUniqueFunction< void(EEvent Event, const FInfo &Info)> &&Func, uint32 MaxDepth=~0u)
 
static CORE_API void UnregisterEventListener ()
 

Additional Inherited Members

- Protected Member Functions inherited from TSharedFromThis< FTrackedActivity >
 TSharedFromThis ()
 
 TSharedFromThis (TSharedFromThis const &)
 
UE_FORCEINLINE_HINT TSharedFromThisoperator= (TSharedFromThis const &)
 
 ~TSharedFromThis ()
 
- Static Protected Member Functions inherited from TSharedFromThis< FTrackedActivity >
static UE_FORCEINLINE_HINT TSharedRef< OtherType, Mode > SharedThis (OtherType *ThisPtr)
 
static UE_FORCEINLINE_HINT TSharedRef< OtherType const, Mode > SharedThis (const OtherType *ThisPtr)
 

Detailed Description

Tracked Activity is used to be able to visualize on a semi-high level what is going on in the process. It is very useful when wanting to show the status of online, or if the runtime is waiting on loading something When new console is enabled tracked activities show at the bottom of the window under the log Tracked Activities can be created/updated/destroyed on multiple threads

Member Typedef Documentation

◆ ELight

Member Enumeration Documentation

◆ EEvent

Enum used for Event listener to identify type of activity change

Enumerator
Added 
Removed 
Changed 

◆ EType

Enum to specify status type of activity In the new console, 'Activity' will make sure tracked activity appears to the left of the window 'Info' appears to the right and use less width. Typically use 'Info' for things that are more static

Enumerator
Activity 
Info 
Debug 

Constructor & Destructor Documentation

◆ FTrackedActivity()

FTrackedActivity::FTrackedActivity ( const TCHAR Name,
const TCHAR Status = TEXT(""),
ELight  Light = ELight::None,
EType  Type = EType::Activity,
int32  SortValue = 100 
)

Ctor

Parameters
NameName of tracked activity
StatusInitial status of tracked activity
Lightfor the activity. Will show as a dot in front of activity in console
TypeDecides where activity information show in console. Activity is to the left, Info to the right
SortValueDecides in what order within type the activity will show in console. Lower value means earlier

◆ ~FTrackedActivity()

FTrackedActivity::~FTrackedActivity ( )

Dtor

Member Function Documentation

◆ GetEngineActivity()

FTrackedActivity & FTrackedActivity::GetEngineActivity ( )
static

Process Engine Activity. General status of the Engine. Used by Engine initialization etc. By default, status light will stay yellow until main threads hits Tick update, then it turns green.

◆ GetIOActivity()

FTrackedActivity & FTrackedActivity::GetIOActivity ( )
static

I/O Activity.Shows current I / O operation.If plugin / game have their own I / O, scopes will need to be manually added

◆ Pop()

void FTrackedActivity::Pop ( )

◆ Push()

uint32 FTrackedActivity::Push ( const TCHAR Status,
bool  bShowParent = false,
ELight  Light = ELight::Inherit 
)

Pushes new status on to tracked activity, will require a pop to get back to previous status ShowParent can be used to make sure Status of parent is visible in front of status of pushed scope.

◆ RegisterEventListener()

void FTrackedActivity::RegisterEventListener ( TUniqueFunction< void(EEvent Event, const FInfo &Info)> &&  Func,
uint32  MaxDepth = ~0u 
)
static

Register listener that can track adds, removes and changes when they happen. Listener will be called from the same thread as the event happens, so make sure listener is threadsafe.

◆ TraverseActivities()

void FTrackedActivity::TraverseActivities ( const TFunction< void(const FInfo &Info)> &  Func)
static

Traverses all FTrackedActivities in the order they were added.

◆ UnregisterEventListener()

void FTrackedActivity::UnregisterEventListener ( )
static

◆ Update() [1/3]

void FTrackedActivity::Update ( const TCHAR Status,
ELight  Light,
uint32  Index = ~0u 
)

◆ Update() [2/3]

void FTrackedActivity::Update ( const TCHAR Status,
uint32  Index = ~0u 
)

Updates status. If Index is ~0u entry at top of stack will be updated (which is the one showing)

◆ Update() [3/3]

void FTrackedActivity::Update ( ELight  Light,
uint32  Index = ~0u 
)

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