Не работают кнопки клавиатуры при повторном запуске widget

Не работают кнопки при повторном запуске виджета.

1. Проверьте Focus при открытии виджета

При создании или открытии виджета нужно явно указать, какой элемент должен получить фокус.

Шаги:

  1. Откройте Event Graph вашего виджета.
  2. В событии Event Construct или On Initialized добавьте:
  • Set Focus (на нужный элемент, например, кнопку).
  • Либо Set Keyboard Focus, если хотите, чтобы виджет ловил ввод с клавиатуры.

2. Убедитесь, что виджет принимает ввод

Иногда виджет не реагирует на клавиатуру, потому что его Visibility или Is Focusable настроены неправильно.

Проверьте:

  • В Details панели виджета:
    • VisibilityVisible (или Self Hit Test Invisible, если не нужно мышь).
    • Is FocusableTrue.
    • Supports Keyboard FocusTrue (если есть такая опция).

3. Сброс фокуса при закрытии

Если виджет закрывается и открывается заново, но кнопки не работают, возможно, фокус “застрял” в другом месте.

Решение:

  1. При закрытии виджета (например, в Remove from Parent или Destruct):
  • Reset Focus (чтобы сбросить текущий фокус).
  • Либо Set Focus на другой элемент (например, на HUD).

4. Проверьте Player Controller

Иногда проблема в том, что Player Controller не передает ввод виджету.

Попробуйте:

  1. В Event BeginPlay вашего Player Controller:
  • Set Input Mode UI Only (если нужно только UI).
  • Set Show Mouse CursorTrue (если нужен курсор).

Если кнопки не работают при повторном открытии виджета, скорее всего:

  • Фокус не устанавливается → Используйте Set Focus при создании.
  • Виджет не принимает ввод → Проверьте Is Focusable и Visibility.
  • Player Controller блокирует ввод → Используйте Set Input Mode UI Only.

Пробуйте сделать это знаю много, но это очень действенные методы. Думаю вам это точно подойдёт~(=^‥^)ノ

3-4 пункты не применимы так как при запуске уровня выставляется game and ui only для взаимодействия с клавиатурой и также включен курсор, remove from parent стоит на выходе из меню настроек, которое срабатывает при помощи евента на клавишу q, но после повторного открытия меню настроек данный эвент перестает работать.

Решил проблему удалив проверку (is valid) перед созданием интерфейса.
Не уверен что правильно сделал, но это решило мою проблему.

1 Like