MenuItem과 CreateAssetMenu를 사용하여 유니티 에디터 확장하기(Extending the Unity Editor using MenuItem and CreateAssetMenu)
유니티에서 제공하는 강력한 기능 중 하나는 에디터를 사용자의 요구에 맞게 확장할 수 있다는 점입니다. 이번 포스팅에서는 MenuItem 어트리뷰트와 CreateAssetMenu 어트리뷰트를 사용하여 유니티 에디터를 확장하는 방법을 알아보겠습니다.
MenuItem을 사용해 에디터 메뉴 항목 추가하기
MenuItem어트리뷰트를 사용하면 유니티 에디터의 메뉴 바에 새로운 항목을 추가할 수 있습니다. 이를 통해 개발자는 자주 사용하는 작업을 메뉴로 쉽게 접근할 수 있게 만들 수 있습니다.
예를 들어, Google Sheets에서 데이터를 불러와 프로젝트 내에서 사용하고 싶은 경우, 다음과 같은 스크립트를 Editor폴더 내에 생성하여 사용할 수 있습니다.
이 스크립트는 My Tools메뉴 아래에 Load All Sheets from Google Sheets라는 새로운 메뉴 항목을 추가합니다. 이 메뉴 항목을 클릭하면 LoadFromGoogleSheets 메서드가 실행되어 Google Sheets에서 데이터를 불러오는 작업을 수행할 수 있습니다.
CreateAssetMenu를 사용하여 ScriptableObject 생성 메뉴 추가하기
ScriptableObject는 데이터를 저장하고 관리하기 위한 유용한 유니티 기능입니다.
CreateAssetMenu어트리뷰트를 사용하면 에셋 메뉴에 ScriptableObject생성 옵션을 추가할 수 있습니다.
다음은 ScriptableObject예제인 TestPlayerData클래스입니다. 이 클래스는 플레이어 데이터를 저장하는 데 사용됩니다.
이 클래스를 프로젝트에 추가하면, 유니티의 에셋 메뉴에 Tools>TestPlayerData 라는 경로로 새로운 TestPlayerData 인스턴스를 생성할 수 있는 옵션이 생깁니다. 이 기능을 사용하면 게임 내에서 사용할 다양한 플레이어 데이터를 쉽게 관리할 수 있습니다.