Gameplay Debugger Tools
November 5, 2025About 2 min
Gameplay Debugger Tools
Gameplay Debugger Tools(GDT)是 UE 的实时调试工具,在游戏运行时(PIE、Simulate In Editor、独立游戏)观察和分析行为数据。它以覆盖层直接画在视口上,支持网络游戏同步显示,调 AI 行为、GAS 技能、导航、感知这类复杂系统时很顺手。
主要功能
- 实时监控 Pawn 和 AIController 的基本状态
- 行为树(Behavior Tree)和黑板(Blackboard)数据可视化
- 环境查询系统(EQS)执行信息展示
- 感知系统的刺激信息监控
- 玩家或选中 Pawn 周围导航网格(NavMesh)的详细展示,含链接和区域
- 按类别分开显示,避免画面信息过载,也省网络带宽(只复制已启用类别的数据)
- 支持扩展自定义类别,采集并显示项目特定数据

使用方式
- 激活——默认快捷键是撇号键
'(键盘 L 键右侧第二个),也可以输控制台命令EnableGDT启动。指向场景目标后按'切到该对象的调试视图。 - 切换调试类别——小键盘数字键切不同类别(NavMesh、Behavior Tree、Abilities 等),Tab 键在多个调试对象间切换视角。
- Simulate 模式下——需启用 Debug AI 显示标志,可通过场景里的
GameplayDebuggingReplicatorActor 控制调试器。
项目设置
路径 Project Settings → Engine → Gameplay Debugger,可配:
- 调试组件类(Debug Component Class)和调试 HUD 类(Debug HUD Class),支持自定义
- 快捷键绑定
- 显示样式、各分类模块的启用/禁用
扩展与自定义
GDT 主要靠 C++ 扩展,纯 Blueprint 项目默认只能用已有的基本功能。扩展两步:
- 继承
UGameplayDebuggingComponent,实现自定义数据采集(示例里的UGDTComponent)。 - 继承
AGameplayDebuggingHUDComponent,实现自定义数据绘制(示例里的AGDTHUDComponent)。
然后在 DefaultEngine.ini 里注册:
[/Script/GameplayDebugger.GameplayDebuggingReplicator]
DebugComponentClassName="/Script/YourProject.GDTComponent"
DebugComponentHUDClassName="/Script/YourProject.GDTHUDComponent"
绘制时可用 PrintString 在屏幕上画带颜色的文本,方便区分信息。
GAS 调试支持
GDT 内置的 GAS 类别能显示:
- 角色当前技能(Abilities)、技能状态、活跃的 Gameplay Effects、属性
- 技能是否已授予(Granted)、是否激活(Active),以及等级和来源
- Gameplay Effects 的堆叠层数、持续时间、阻断状态
- 实时属性数值(生命、耐力等),方便看技能和效果对属性的影响
- Gameplay Tags 一览,用来判断技能执行条件和状态阻断
调技能系统时,GDT 比一行行打 log 直观得多——能直接看到某个 GE 到底有没有挂上、堆了几层、还剩多少时间,省下大量靠猜的时间。