UE 5.1에서 기본으로 지원하는 언리얼 입력 방식으로, 복잡한 입력 로직을 코드 수정 없이 유연하게 관리할 수 있게 만든 시스템이다.
Enhanced Input은 주로 4가지 키워드로 분류 된다.
먼저, Move 액션을 만들기 위해 Input Action을 구현한다.

Move와 Look 모두 상/하/좌/우로 이동하니, 2차원 값인 Vector2D로 설정한다.

각 액션에 대해 키 바인딩을 해주기 위해 Input Mapping Context를 생성한다.

Move의 경우, 다음과 같이 세팅했다.
Negate Modifiers: 입력 값을 반전한다. 예) 0 -> 0, 1 -> -1Swizzle Input Axis Values: 입력받는 축의 순서를 전환한다. (기본 XYZ)
Look의 경우, 다음과 같이 세팅했다.

이미 카메라를 보유한 캐릭터가 있다는 가정하에, 캐릭터의 블루프린트에 Input 초기 설정을 한다.
Get Player Controller(): 인덱스에 해당하는 플레이어를 Possess한 Player Controller를 가져온다.Enhanced Input Local Player Subsystem: Input을 적용하기 위한 관리자. 이를 통해서 Add Mapping Context()를 통해 Input Mapping Context를 등록해야 해당 컨텍스트가 활성화 된다.
앞서 IMC에 Move, Look에 대한 액션을 넣었으므로, 해당 액션에 대한 로직을 추가한다.

아래는 내가 종종 까먹다보니, 이해한 것을 바탕으로 대략적인 그림을 그려보았다.

Look도 입력 값을 기반으로 컨트롤러를 회전시키도록 구현한다.

그 외에도 의도한대로 동작하려면, Input 이벤트 로직 구현 이외에도 아래 옵션을 켜줘야 한다.
Orient Rotation to Movement: 컨트롤러의 회전을 기반으로 캐릭터를 가속시킴(Character Movement)Use Pawn Control Rotation: 컨트롤러의 회전에 따라 SpringArm이 회전(SpringArm)