DevDino

[Unity 기술면접] Unity Input System 본문

Unity/기술면접

[Unity 기술면접] Unity Input System

데브다이노 2026. 1. 14. 05:38

 

"Unity에서 사용자 입력을 처리하는 방법에 대해 설명해 보세요."

Unity에서 사용자 입력 처리

Unity에서는 크게 두 가지(Input 클래스, New Input System) 입력 처리 방식이 존재한다.
각각 장단점이 있고, 게임의 규모·목표 플랫폼·조작 방식 요구사항에 따라 선택이 달라질 수 있다.

Input 클래스

키보드, 마우스, 조이스틱, 터치 등 기본 입력 장치를 Input 클래스를 통해 직접 읽는다.
매 프레임 입력 상태를 polling으로 체크한다. 단순하고 직관적이다.

polling이란 일정 간격으로 상태를 반복적으로 확인하는 방식을 의미합니다.

void Update()
{
	if(Input.GetKey(KeyCode.Space))
    { ... }
}

장점

설정이 간단하고 구현이 쉬워 작은 규모 프로젝트에 바로 적용이 가능하다.

단점

여러 입력 장치를 동시에 지원하거나 복잡한 입력 체계를 요구하는 경우 비효율적이고 유지보수 어렵다.

New Input System

다양한 입력 장치 대응을 염두에 두고 설계된 입력 프레임워크이다. Action을 정의하고 입력이 발생했을 때 이벤트 기반으로 처리한다. 입력 바인딩 에셋화하여 여러 장치를 하나의 Action 매핑할 수 있기 때문에 플랫폼 변경에 유연하게 대응할 수 있다.

입력 바인딩은 사용자 조작과 게임 내 동작을 연결하는 것을 의미합니다.

실습 게시물 보러 가기
https://dev-dino.tistory.com/35

장점

하나의 API로 다양한 입력 장치 플랫폼 지원한다. 이벤트 기반이기 때문에 유지보수 가독성이 좋다. 런타임 중 리바인딩이 가능하다.

단점

초기 세팅이 비교적 복잡하므로 소규모 게임이라면 꼭 필요하지 않을 수도 있다.

요약
Unity에서 입력 처리 방식은 크게 Input 클래스와 New Input System이 있다.
Input 클래스는 Input.GetKey 등 매 프레임 polling해서 읽는 방식으로, 구현이 단순하고 직관적이라 간단한 프로젝트에 적합하다.
New Input System은 이벤트 기반 입력 처리 체계로, 다양한 장치를 통합 지원하고 입력 바인딩을 에셋으로 관리해 여러 요구사항에 유연하게 대응할 수 있고 유지보수에 유리하다.