Проблема с вводом клавиатуры в 3D-виджет (Widget Component) при использовании Widget Interaction Component

Здравствуйте!

Я новичок в Unreal Engine 5.5 и создаю интерактивный 3D-компьютер в игре. Система работает через Widget Component на 3D-модели монитора, который отображает виджет WBP_Desktop. Игрок взаимодействует с ним через Widget Interaction Component (WIC), прикрепленный к персонажу.

Проблема:
Я не могу заставить TextBox в моем виджете WBP_Browser принимать ввод с клавиатуры, когда браузер открыт. Курсор (мигающая палочка) появляется, но нажатие клавиш не приводит к вводу текста.

Моя Настройка:

  1. Персонаж: BP_FirstPersonCharacter с прикрепленным Widget Interaction Component (Interaction Source: Mouse).

  2. Монитор: BP_Monitor с Widget Component (Collision: UI, Receive Hardware Input: Disabled).

  3. Виджет Браузера: WBP_Browser с полем ввода TextBox.

Логика Открытия Браузера (WBP_Desktop):

  1. Клик по иконке.

  2. Create Widget (WBP_Browser).

  3. Add Child to Canvas (добавление WBP_Browser в WBP_Desktop).

  4. Вызов Custom Event для установки фокуса.

Ключевой Обходной Путь (но не решение):
Если я использую нод Add to Viewport вместо Add Child to Canvas, ввод с клавиатуры работает, но это создает 2D-оверлей, что нарушает 3D-ощущение.

Вопрос:
Как мне принудительно заставить Widget Interaction Component передавать ввод с клавиатуры в TextBox 3D-виджета, чтобы я мог печатать, не нарушая 3D-пространство? Возможно, есть специальная настройка в Widget Interaction Component или Player Controller, которую я упускаю.

Попробуй изменить InputMode у PlayerController, сначала на UI Only, при необходимости ввода и затем GameAndUI - возможно это поможет.

Скриншот почему-то не загружается, но всё что нужно сделать - вытянуть линк из PlayerController и найти ноду SetInputMode

Привет. Я набираю себе команду для разработки. Если хочешь, можешь присоединиться ко мне. Будем помогать друг другу и наставлять. Я уже 1,5 года в unreal и можно разрабатывать вместе. Мой тг @Unreal_Develop. Если будет интересно пиши.