[EditorWindow] 기본적인 에디터 창 구축
·
유니티(Unity)/커스텀 에디터
📌 개요     최근 Unity Editor 제작에 관심이 많습니다.현업에서 기획자 또는 아트를 위한 툴 제작게임 개발에 자주 사용되는 기능을 툴로 제작신규 프로젝트를 위한 기본 템플릿등등... 단순히 게임 컨텐츠 제작 뿐만 아니라, 툴을 직접 개발하는 경우도 많더라구요. 그래서 Unity Editor에 대해 기초부터 공부하고자 합니다.     📌 EditorWindow  EditorWindow : Unity Editor 내부에 개발자를 위한 도구나 툴을 제작할 수 있도록 돕는 클래스 Unity의 기본 제공 창인 Scene, Inspector, Console과 비슷한 동작을 하는 커스텀 창을 만들 수 있습니다. EditorWindow을 통해 주로 사용하는 주요 메서드와 이벤트를 살펴보도록 하겠습니다...
[EditorUtility.DisplayDialog] 팝업 창 제작
·
유니티(Unity)/커스텀 에디터
📌 개요   Unity 에디터 툴을 만들 때 간단한 팝업 창을 표시하고 싶지 않나요? 오늘은 Unity에서 제공하는 기능 중 하나인 EditorUtility.DisplayDialog 메서드에 대해 알아보겠습니다.     📌 EditorUtility.DisplayDialog 1. 확인 및 취소 팝업창public static bool DisplayDialog( string title, // 팝업 창 제목 string message, // 팝업 창에 표시할 메시지 string ok, // 확인 버튼의 텍스트 string cancel = null // (선택) 취소 버튼의 텍스트);  시그니처는 위와 같습니다. 반환 값은 bool 형태로, ..
[FilePath] 에디터 환경 변수 저장
·
유니티(Unity)/커스텀 에디터
📌 개요   Unity 에디터에서 툴을 개발할 때 데이터를 영구적으로 저장할 필요가 있습니다. A 개발자와 B 개발자가 해당 툴의 세팅을 서로 다르게 가져갈 수 있기 때문입니다.       예를 들어, Unity에서 제공하는 기본 레이아웃이 여기에 해당합니다. 개발자는 자신이 원하는 레이아웃을 선택할 수 있으며, Unity를 껐다 키면 그 상태를 유지합니다. 왜냐하면 레이아웃 데이터가 PC 로컬 환경에 저장되기 때문입니다.      레이아웃 데이터는 사용자 환경에 따라 위 경로(~/Preferences) 폴더에 저장됩니다. 이건 프로젝트 상위 폴더가 아닌, PC 로컬 환경에 저장되기 때문에 버전 관리에 포함되지 않습니다. 따라서 PC마다 사용자만의 에디터 환경을 구축할 수 있습니다. 오늘은 커스텀 에디..
[Unity 기능] 커스텀 패키지 제작하기
·
유니티(Unity)/커스텀 에디터
✍️ 개요 유니티를 사용해온 프로그래머라면 사용자 패키지(Custom Package)을 만들고 싶다는 생각이 든 적 있지 않나요? 저는 최근에 게임잼이나 신작을 준비할 때마다 빠르게 시작하기 위한 탬플릿이 있으면 좋겠다는 생각을 했습니다. 그래서 자주 사용하는 Manager 모듈을 탬플릿으로 제작하여 사용자 패키지로 만들었습니다. 혹시라도 저처럼 사용자 패키지를 제작하고 싶은 분들을 위해 과정을 공유하도록 하겠습니다.      📌 커스텀 패키지 레이아웃 설정  위 하이러키 구조가 유니티가 권장하는 커스텀 패키지 레이아웃입니다. 다소 복잡해보이지만 모두 구축할 필요는 없습니다. 그래서 저는 package.json, Editor, Runtime, Samples~만 구축하도록 하겠습니다. 만약 자세한 내용에..