调试:showdebug 与日志

showdebug enhancedinput

运行时 ~ 输入 showdebug enhancedinput:

页签内容 看什么
Mapping Contexts 当前启用的 IMC 与优先级
Action Mappings 每个 IA 的键映射与修饰/触发器
Key State 按键当前状态

"按键没反应"的排查路径: 1. showdebug 里 IMC 是否启用(上下文没加); 2. 映射行是否被高优先级 IMC 抢占(同键覆盖); 3. Trigger 条件(Hold 时长没按够、Double Tap 间隔超了); 4. Modifier 死区把值吃掉了(摇杆轻推无值); 5. 绑定是否在(Pawn 重 Possess 丢绑定)。

日志

UE_LOG(LogEnhancedInput, Log, TEXT("IA_Move triggered: %s"), *Value.Get<FVector2D>().ToString());

或控制台:log EnhancedInput Verbose(可看到修饰/触发的每帧计算,信息量大,临时开用)。

常见"灵异"输入问题清单

症状 首先查
按键完全无反应 IMC 启用、优先级覆盖、Trigger 配置
值永为 0 Modifier 死区 / 取值类型不对
双触发同帧 同键两行映射的 Trigger 没分流好
输入卡死(按住不停) Released/Completed 没处理;窗口失焦时输入未清
UI 打开后还能操作游戏 InputMode / IMC_UI 优先级
手柄能用键盘不能 键盘行缺失或 Modifier 放错
切场景后输入失效 PlayerController/Pawn 重建,绑定丢失

一个测试习惯

给每个 IMC 状态写一张"按键预期表"(哪个上下文下哪些键可用),改输入后逐行过——输入回归测试几分钟,比上线后修串键便宜得多。

本章小结

  • showdebug enhancedinput 是输入排查的第一工具(三页签覆盖 IMC/映射/按键)。
  • 七个"灵异"症状各有首选排查方向。
  • 建立"按键预期表"做回归,输入 bug 上线成本最高。