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

#include <GameplayDebuggerCategory.h>

+ Inheritance diagram for FGameplayDebuggerCategory:

Public Member Functions

GAMEPLAYDEBUGGER_API FGameplayDebuggerCategory ()
 
virtual GAMEPLAYDEBUGGER_API ~FGameplayDebuggerCategory ()
 
virtual GAMEPLAYDEBUGGER_API void CollectData (APlayerController *OwnerPC, AActor *DebugActor)
 
virtual GAMEPLAYDEBUGGER_API void DrawData (APlayerController *OwnerPC, FGameplayDebuggerCanvasContext &CanvasContext)
 
virtual GAMEPLAYDEBUGGER_API FDebugRenderSceneProxyCreateDebugSceneProxy (const UPrimitiveComponent *InComponent, FDebugDrawDelegateHelper *&OutDelegateHelper)
 
virtual GAMEPLAYDEBUGGER_API void OnDataPackReplicated (int32 DataPackId)
 
GAMEPLAYDEBUGGER_API void AddTextLine (const FString &TextLine)
 
GAMEPLAYDEBUGGER_API void AddShape (const FGameplayDebuggerShape &Shape)
 
GAMEPLAYDEBUGGER_API void DrawCategory (APlayerController *OwnerPC, FGameplayDebuggerCanvasContext &CanvasContext)
 
bool ShouldDrawCategory (bool bHasDebugActor) const
 
bool ShouldDrawReplicationStatus () const
 
FName GetCategoryName () const
 
bool IsCategoryHeaderVisible () const
 
bool IsCategoryEnabled () const
 
bool IsCategoryLocal () const
 
bool IsCategoryAuth () const
 
bool ShouldCollectDataOnClient () const
 
int32 GetNumDataPacks () const
 
float GetDataPackProgress (int32 DataPackId) const
 
bool IsDataPackReplicating (int32 DataPackId) const
 
FGameplayDebuggerDataPack::FHeader GetDataPackHeaderCopy (int32 DataPackId) const
 
TArray< FString > GetReplicatedLinesCopy () const
 
TArray< FGameplayDebuggerShapeGetReplicatedShapesCopy () const
 
- Public Member Functions inherited from FGameplayDebuggerAddonBase
virtual ~FGameplayDebuggerAddonBase ()
 
int32 GetNumInputHandlers () const
 
FGameplayDebuggerInputHandlerGetInputHandler (int32 HandlerId)
 
GAMEPLAYDEBUGGER_API FString GetInputHandlerDescription (int32 HandlerId) const
 
GAMEPLAYDEBUGGER_API UWorldGetWorldFromReplicator () const
 
GAMEPLAYDEBUGGER_API UWorldGetDataWorld (const APlayerController *OwnerPC, const AActor *DebugActor) const
 
virtual GAMEPLAYDEBUGGER_API void OnGameplayDebuggerActivated ()
 
virtual GAMEPLAYDEBUGGER_API void OnGameplayDebuggerDeactivated ()
 
- Public Member Functions inherited from TSharedFromThis< FGameplayDebuggerAddonBase >
TSharedRef< FGameplayDebuggerAddonBase, Mode > AsShared ()
 
TSharedRef< FGameplayDebuggerAddonBase const, Mode > AsShared () const
 
TSharedRef< SubobjectType, Mode > AsSharedSubobject (SubobjectType *SubobjectPtr) const
 
TWeakPtr< FGameplayDebuggerAddonBase, Mode > AsWeak ()
 
TWeakPtr< FGameplayDebuggerAddonBase 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
 

Protected Member Functions

GAMEPLAYDEBUGGER_API bool GetViewPoint (const APlayerController *OwnerPC, FVector &OutViewLocation, FVector &OutViewDirection) const
 
GAMEPLAYDEBUGGER_API void MarkDataPackDirty (int32 DataPackId)
 
GAMEPLAYDEBUGGER_API void MarkRenderStateDirty ()
 
GAMEPLAYDEBUGGER_API FString GetSceneProxyViewFlag () const
 
template<typename T >
int32 SetDataPackReplication (T *DataPackAddr, EGameplayDebuggerDataPack Flags=EGameplayDebuggerDataPack::ResetOnTick)
 
void ForceImmediateCollect ()
 
GAMEPLAYDEBUGGER_API void ResetReplicatedData ()
 
- Protected Member Functions inherited from FGameplayDebuggerAddonBase
GAMEPLAYDEBUGGER_API AActorFindLocalDebugActor () const
 
GAMEPLAYDEBUGGER_API AGameplayDebuggerCategoryReplicatorGetReplicator () const
 
template<class UserClass >
bool BindKeyPress (FName KeyName, UserClass *KeyHandlerObject, typename FGameplayDebuggerInputHandler::FHandler::TMethodPtr< UserClass > KeyHandlerFunc, EGameplayDebuggerInputMode InputMode=EGameplayDebuggerInputMode::Local)
 
template<class UserClass >
bool BindKeyPress (FName KeyName, FGameplayDebuggerInputModifier KeyModifer, UserClass *KeyHandlerObject, typename FGameplayDebuggerInputHandler::FHandler::TMethodPtr< UserClass > KeyHandlerFunc, EGameplayDebuggerInputMode InputMode=EGameplayDebuggerInputMode::Local)
 
template<class UserClass >
bool BindKeyPress (const FGameplayDebuggerInputHandlerConfig &InputConfig, UserClass *KeyHandlerObject, typename FGameplayDebuggerInputHandler::FHandler::TMethodPtr< UserClass > KeyHandlerFunc, EGameplayDebuggerInputMode InputMode=EGameplayDebuggerInputMode::Local)
 
- Protected Member Functions inherited from TSharedFromThis< FGameplayDebuggerAddonBase >
 TSharedFromThis ()
 
 TSharedFromThis (TSharedFromThis const &)
 
UE_FORCEINLINE_HINT TSharedFromThisoperator= (TSharedFromThis const &)
 
 ~TSharedFromThis ()
 

Static Protected Member Functions

static GAMEPLAYDEBUGGER_API bool IsLocationInViewCone (const FVector &ViewLocation, const FVector &ViewDirection, const FVector &TargetLocation)
 
- Static Protected Member Functions inherited from TSharedFromThis< FGameplayDebuggerAddonBase >
static UE_FORCEINLINE_HINT TSharedRef< OtherType, Mode > SharedThis (OtherType *ThisPtr)
 
static UE_FORCEINLINE_HINT TSharedRef< OtherType const, Mode > SharedThis (const OtherType *ThisPtr)
 

Protected Attributes

float CollectDataInterval
 
uint32 bShowDataPackReplication: 1
 
uint32 bShowUpdateTimer: 1
 
uint32 bShowCategoryName: 1
 
uint32 bShowOnlyWithDebugActor: 1
 
uint32 bAllowLocalDataCollection: 1
 

Friends

class FGameplayDebuggerAddonManager
 
class AGameplayDebuggerCategoryReplicator
 
struct FGameplayDebuggerNetPack
 

Additional Inherited Members

- Static Public Member Functions inherited from FGameplayDebuggerAddonBase
static GAMEPLAYDEBUGGER_API bool IsSimulateInEditor ()
 

Detailed Description

Single category of visual debugger tool

Constructor & Destructor Documentation

◆ FGameplayDebuggerCategory()

FGameplayDebuggerCategory::FGameplayDebuggerCategory ( )

◆ ~FGameplayDebuggerCategory()

FGameplayDebuggerCategory::~FGameplayDebuggerCategory ( )
virtual

Member Function Documentation

◆ AddShape()

void FGameplayDebuggerCategory::AddShape ( const FGameplayDebuggerShape Shape)

[AUTH] adds shape to replicated data

◆ AddTextLine()

void FGameplayDebuggerCategory::AddTextLine ( const FString &  TextLine)

[AUTH] adds line of text tagged with {color} to replicated data

◆ CollectData()

void FGameplayDebuggerCategory::CollectData ( APlayerController OwnerPC,
AActor DebugActor 
)
virtual

[AUTH] gather data for replication

◆ CreateDebugSceneProxy()

FDebugRenderSceneProxy * FGameplayDebuggerCategory::CreateDebugSceneProxy ( const UPrimitiveComponent *  InComponent,
FDebugDrawDelegateHelper *&  OutDelegateHelper 
)
virtual

[LOCAL] creates a scene proxy for more advanced debug rendering

◆ DrawCategory()

void FGameplayDebuggerCategory::DrawCategory ( APlayerController OwnerPC,
FGameplayDebuggerCanvasContext CanvasContext 
)

[LOCAL] draw category

◆ DrawData()

void FGameplayDebuggerCategory::DrawData ( APlayerController OwnerPC,
FGameplayDebuggerCanvasContext CanvasContext 
)
virtual

[LOCAL] draw collected data

◆ ForceImmediateCollect()

void FGameplayDebuggerCategory::ForceImmediateCollect ( )
inlineprotected

[AUTH] force data collection on next update

◆ GetCategoryName()

FName FGameplayDebuggerCategory::GetCategoryName ( ) const
inline

[ALL] get name of category

◆ GetDataPackHeaderCopy()

FGameplayDebuggerDataPack::FHeader FGameplayDebuggerCategory::GetDataPackHeaderCopy ( int32  DataPackId) const
inline

◆ GetDataPackProgress()

float FGameplayDebuggerCategory::GetDataPackProgress ( int32  DataPackId) const
inline

◆ GetNumDataPacks()

int32 FGameplayDebuggerCategory::GetNumDataPacks ( ) const
inline

◆ GetReplicatedLinesCopy()

TArray< FString > FGameplayDebuggerCategory::GetReplicatedLinesCopy ( ) const
inline

◆ GetReplicatedShapesCopy()

TArray< FGameplayDebuggerShape > FGameplayDebuggerCategory::GetReplicatedShapesCopy ( ) const
inline

◆ GetSceneProxyViewFlag()

FString FGameplayDebuggerCategory::GetSceneProxyViewFlag ( ) const
protected

[LOCAL] preferred view flag for creating scene proxy

◆ GetViewPoint()

bool FGameplayDebuggerCategory::GetViewPoint ( const APlayerController OwnerPC,
FVector OutViewLocation,
FVector OutViewDirection 
) const
protected

Returns view location and direction from replicated data if available or will extract it from the provided player controller. The replicated data is used first since it might be provided from a detached camera.

Returns
whether OutViewLocation and OutViewDirection were assigned to valid values
Note
Method is expected to always return valid outputs if valid controller is provided. Otherwise it depends if the view information has been replicated before the methods gets called.

◆ IsCategoryAuth()

bool FGameplayDebuggerCategory::IsCategoryAuth ( ) const
inline

[ALL] check if category has authority (collects data)

◆ IsCategoryEnabled()

bool FGameplayDebuggerCategory::IsCategoryEnabled ( ) const
inline

[ALL] check if category is enabled

◆ IsCategoryHeaderVisible()

bool FGameplayDebuggerCategory::IsCategoryHeaderVisible ( ) const
inline

[ALL] check if category header should be drawn

◆ IsCategoryLocal()

bool FGameplayDebuggerCategory::IsCategoryLocal ( ) const
inline

[ALL] check if category is local (present data)

◆ IsDataPackReplicating()

bool FGameplayDebuggerCategory::IsDataPackReplicating ( int32  DataPackId) const
inline

◆ IsLocationInViewCone()

bool FGameplayDebuggerCategory::IsLocationInViewCone ( const FVector ViewLocation,
const FVector ViewDirection,
const FVector TargetLocation 
)
staticprotected

Indicates if a given location is within a vision cone built from provided view location and direction based on MaxViewDistance and MaxViewAngle from GameplayDebuggerUserSettings

◆ MarkDataPackDirty()

void FGameplayDebuggerCategory::MarkDataPackDirty ( int32  DataPackId)
protected

[AUTH] marks data pack as needing replication

◆ MarkRenderStateDirty()

void FGameplayDebuggerCategory::MarkRenderStateDirty ( )
protected

[LOCAL] requests new scene proxy

◆ OnDataPackReplicated()

void FGameplayDebuggerCategory::OnDataPackReplicated ( int32  DataPackId)
virtual

[LOCAL] called after successful replication of entire data pack to client

◆ ResetReplicatedData()

void FGameplayDebuggerCategory::ResetReplicatedData ( )
protected

[ALL] Clears out accumulated replicated data.

◆ SetDataPackReplication()

template<typename T >
int32 FGameplayDebuggerCategory::SetDataPackReplication ( T *  DataPackAddr,
EGameplayDebuggerDataPack  Flags = EGameplayDebuggerDataPack::ResetOnTick 
)
inlineprotected

[ALL] sets up DataPack replication, needs address of property holding data, DataPack's struct must define Serialize(FArchive& Ar) function returns DataPackId

◆ ShouldCollectDataOnClient()

bool FGameplayDebuggerCategory::ShouldCollectDataOnClient ( ) const
inline

[LOCAL]

◆ ShouldDrawCategory()

bool FGameplayDebuggerCategory::ShouldDrawCategory ( bool  bHasDebugActor) const
inline

[LOCAL] check if category should be drawn

◆ ShouldDrawReplicationStatus()

bool FGameplayDebuggerCategory::ShouldDrawReplicationStatus ( ) const
inline

[LOCAL] check if data pack replication status

Friends And Related Symbol Documentation

◆ AGameplayDebuggerCategoryReplicator

◆ FGameplayDebuggerAddonManager

◆ FGameplayDebuggerNetPack

Member Data Documentation

◆ bAllowLocalDataCollection

uint32 FGameplayDebuggerCategory::bAllowLocalDataCollection
protected

False by default. If set to True will make data collection functions work on Local categories as well. Note that in client-server setting the data is still being replicated over from the server as well, and data collection on the client can also be used to annotate the incoming data. If this is undesired you need to call ResetReplicatedData before gathering the client-side data.

◆ bShowCategoryName

uint32 FGameplayDebuggerCategory::bShowCategoryName
protected

include category name in drawn messages

◆ bShowDataPackReplication

uint32 FGameplayDebuggerCategory::bShowDataPackReplication
protected

include data pack replication details in drawn messages

◆ bShowOnlyWithDebugActor

uint32 FGameplayDebuggerCategory::bShowOnlyWithDebugActor
protected

draw category only when DebugActor is present

◆ bShowUpdateTimer

uint32 FGameplayDebuggerCategory::bShowUpdateTimer
protected

include remaining time to next data collection in drawn messages

◆ CollectDataInterval

float FGameplayDebuggerCategory::CollectDataInterval
protected

update interval, 0 = each tick


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