Unity/트러블 슈팅

[Unity] UI가 작동하지 않는 이유

turbulence93 2025. 6. 27. 23:54

1. 문제 상황

  • UI 버튼, 토글, 슬라이더 등 UI 요소들이 마우스 클릭에 반응하지 않음
  • UI 요소들의 RayCast Target 설정들도 잘 체크되어 있음
  • Button.onClick, EventTrigger, PointerEventData 등 이벤트가 작동하지 않음

2. 원인 분석

  • Unity의 UI 시스템은 내부적으로 EventSystem 오브젝트를 통해
    마우스 클릭, 터치, 키보드 포커스 등의 이벤트를 처리
  • 하지만 EventSystem 컴포넌트가 씬에 존재하지 않으면
    → UI는 입력을 받을 수 없음
    UI는 보이지만 작동하지 않는 현상 발생

3. 해결 방법

  • Hierarchy > UI > Event System 추가
  • Canvas를 생성할 때 Unity가 자동으로 생성해주는 EventSystem 오브젝트를 삭제하지 않도록 주의

4. 개인적인 생각

  • UI가 반응하지 않을 땐 레이캐스트 블록, 인터랙션 여부만 점검하다가
    EventSystem이 빠져 있었던 걸 뒤늦게 발견하게 됨
  • UI 디버깅 시 첫 체크 항목으로 EventSystem 포함 여부를 습관화해야겠다고 느꼈음