Unreal UI 입력 처리

UMG 입력 안정화

UI 입력 처리는 버튼을 누르면 함수가 실행되는 수준이 아니다. 플레이어 입력이 월드와 UI 중 어디로 가는지, focus가 어느 widget에 있는지, animation과 이벤트 바인딩 수명이 맞는지 확인해야 한다.

01

모드 전환

메뉴, 인벤토리, 게임 플레이 상황에 맞춰 SetInputModeGameOnly/UIOnly/GameAndUI를 선택한다.

상황별 정책
02

Focus 지정

키보드와 게임패드 조작은 SetKeyboardFocus와 IsFocusable 설정을 함께 확인한다.

패드 UI 필수
03

이벤트 바인딩

버튼 클릭, slider 변경, animation finished 이벤트가 widget 수명 주기 안에서 한 번만 묶이는지 본다.

중복 바인딩 한계
04

복귀 처리

UI 닫기 시 cursor, input mode, pause, focus를 원래 gameplay 상태로 되돌린다.

탈출 경로
UIOnly
메뉴 전용 입력 월드 조작을 막고 UI navigation에 집중할 때 사용한다.
닫기 키 경로 필요
GameAndUI
상호작용 UI 인벤토리나 조준 UI처럼 게임 입력과 UI 입력이 함께 필요할 때 쓴다.
우선순위 확인
Focus
키 입력 대상 마우스로는 되는데 패드가 안 되는 문제는 focus 설정 누락인 경우가 많다.
Focusable
Animation
입력 잠금과 완료 이벤트 열림/닫힘 animation 중 중복 클릭을 막고 완료 시 상태를 확정한다.
전환 중 flag

닫기 입력 · 중복 바인딩 · 소유자 점검

닫기 입력 UIOnly 상태에서도 ESC/Back으로 닫는 경로가 살아 있는지 확인한다.
중복 바인딩 Construct가 여러 번 호출되어 같은 이벤트가 중복 실행되지 않는지 본다.
소유자 CreateWidget의 Owning Player가 올바른 PlayerController인지 확인한다.