Module |
|
Header |
/Engine/Source/Developer/GameplayDebugger/Public/GameplayDebugger.h |
Include |
#include "GameplayDebugger.h" |
enum EGameplayDebuggerCategoryState
{
EnabledInGameAndSimulate,
EnabledInGame,
EnabledInSimulate,
Disabled,
Hidden,
}
Name |
Description |
---|---|
EnabledInGameAndSimulate |
|
EnabledInGame |
|
EnabledInSimulate |
|
Disabled |
|
Hidden |
GAMEPLAY DEBUGGER
This tool allows easy on screen debugging of gameplay data, supporting client-server replication. Data is organized into named categories, which can be toggled during debugging.
To enable it, press Apostrophe key ([UGameplayDebuggerConfig::ActivationKey](API\Developer\GameplayDebugger\UGameplayDebuggerConfig\ActivationKey))
Category class:
derives from FGameplayDebuggerCategory
implements at least CollectData() and DrawData() functions
requires WITH_GAMEPLAY_DEBUGGER define to compile (doesn't exist in shipping builds by default)
needs to be registered and unregistered manually by owning module
automatically replicate data added with FGameplayDebuggerCategory::AddTextLine, FGameplayDebuggerCategory::AddShape
automatically replicate data structs initialized with FGameplayDebuggerCategory::SetDataPackReplication
can define own input bindings (e.g. subcategories, etc)
Extension class:
derives from FGameplayDebuggerExtension
needs to be registered and unregistered manually by owning module
can define own input bindings
basically it's a stateless, not replicated, not drawn category, ideal for making e.g. different actor selection mechanic
Check FGameplayDebuggerCategory_BehaviorTree for implementation example. Check AIModule/Private/AIModule.cpp for registration example.
Remember to define WITH_GAMEPLAY_DEBUGGER=1 when adding module to your project's Build.cs! Check AIModule/AIModule.Build.cs for more details.