본문 바로가기
유니티

[Unity] 버튼이 눌러도 반응하지 않을 때 해결방법

728x90
반응형

1. EventSystem이 없는 경우

Hierachy에서 EventSystem이 지워진 경우 Button기능이 작동을 안합니다. Hierachy에서 오른쪽 클릭 -> UI -> EventSystem에서 새로 생성 가능합니다.

 

2. 다른 UI에 가려서 안눌리는 경우

다른 UI에 Button이 가려져 있는 경우 반응을 하지 않습니다. 이런 경우 UI위치를 조정하거나 가리고 있는 UI의 RaycastTarget을 꺼주시면 클릭시 해당 UI를 무시하기 때문에 Button이 정상적으로 작동할 수 있습니다.

 

 

3. Button의 Interactable이 꺼져있는 경우

Button의 Interactable변수가 false로 되어있을 경우 작동을 안합니다. Inspector에서 실수로 꺼놨거나, 스크립트에서 끄고있지 않은지 확인해주는게 좋습니다.

 

4. OnPointerUp에 기능을 구현해놓았는데 OnPointerDown을 구현하지 않은 경우

public void OnPointerUp(PointerEventData eventData)
{
    // 기능 구현
}
public void OnPointerDown(PointerEventData eventData)
{
}

 OnPointerDown은 단독으로 추가해도 정상적으로 호출이 되지만 OnPointerUp은 Down을 상속받아 주지 않으면 호출이 되지 않습니다.

반응형