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 포함 여부를 습관화해야겠다고 느꼈음
'Unity > 트러블 슈팅' 카테고리의 다른 글
| [Unity] 오브젝트 풀링 트러블 슈팅 (0) | 2025.07.09 |
|---|---|
| [Unity] InputAction의 performed 이벤트 사용 시 주의점 (0) | 2025.07.02 |
| [Unity] Enum을 추상화 했을때 발생한 트러블 슈팅 (0) | 2025.06.24 |
| [Unity] null처리가 되었는데 Debug.Log에 출력 되는 현상 (0) | 2025.06.20 |
| [Unity] 생성자가 오브젝트 파괴후에도 참조되는 현상 (0) | 2025.06.19 |