본문 바로가기
Unity

Button 클릭 시, 내가 짠 함수를 호출하는 방법

by Oz Driver 2025. 3. 24.

Button 을 클릭했을 때 내가 짠 스크립트 함수를 호출하여 어떤 기능을 실행하고 싶을 때, 별도의 coding 없이 가장 손쉽게 해결할 수 있는 방법을 소개하겠습니다. 

글 후반에는 이 방법의 한계점에 대해 말씀드리고, 다음 편에서 해결방법을 제시하도록 하겠습니다. 

 

 

 

OnClick 이벤트 연결하는 방법

(1) Button 오브젝트 선택

(2) Inspector 창 하단의 OnClick() 항목 확인

(3) + 버튼 클릭하여 이벤트 슬롯 추가

(4) 함수가 포함된 오브젝트를 Hierarchy에서 드래그해서 넣기

(5) 오른쪽 드롭다운을 눌러, 원하는 스크립트에서 함수 선택

 

이 때, 함수는 public void 형식이어야 하며, 파라미터가 없어야 Inspector 에서 보입니다.

 

 

OnClick()

 

 

예시 코드 :

public class MyUIHandler : MonoBehaviour
{
    public void OnButtonClick()
    {
        Debug.Log("버튼이 눌렸습니다!");
    }
}

 

제약 사항

Unity 의 프리팹(Prefab) 편집 모드에서는 외부 오브젝트를 OnClick() 에 연결할 수 없습니다.
이는 프리팹이 독립적인 상태이기 때문에 Hierarchy 밖의 객체를 참조할 수 없기 때문입니다.

 

 

AddListener() 로 연결하기

만약, 이러한 상황이 불편함을 초래한다면, 스크립트 상에서 code 로 직접 연결하는 방법을 사용하면 됩니다.

다음에는 AddListener() 함수를 이용하는 방법에 대해 알아보겠습니다.