Unity Custom Editor

Sungchan Ahn(안성찬)·2025년 2월 17일

커스텀 에디터 기본 개념

Unity의 Editor 클래스와 EditorGUILayout, SerializedObject, SerializedProperty 같은 유틸리티를 사용하여 유니티 Inspector를 커스터마이징

주요 개념

  • Editor 클래스: UnityEditor.Editor를 상속받아 특정 컴포넌트에 대한 커스텀 에디터를 제작.

  • OnInspectorGUI(): 인스펙터 UI를 그리는 메서드.

  • EditorGUILayout / GUILayout: 레이아웃 기반의 UI 요소 배치.

  • SerializedObject / SerializedProperty: 데이터 직렬화 및 Undo 기능 지원.

커스텀 에디터 확장 기능

  1. 폴딩 그룹 (Foldout)
    Foldout을 사용하여 UI를 접었다 펼칠 수 있음.

  2. 색상 및 스타일 지정
    GUIStyle을 활용하면 글자 크기, 색상, 굵기 조절 가능.

  3. 이미지 추가
    AssetDatabase.LoadAssetAtPath()를 사용하여 이미지 로드.

  4. 드래그 앤 드롭 기능
    파일 선택 창을 열고, 특정 파일을 불러올 수 있음.

요약

기능설명
DrawDefaultInspector()기존 UI 유지
GUILayout.Button("Text")버튼 추가
EditorGUILayout.PropertyField()직렬화된 변수 UI 생성
EditorGUILayout.IntSlider()정수 슬라이더
EditorGUILayout.Foldout()접기/펼치기 UI
GUIStyle스타일 적용
AssetDatabase.LoadAssetAtPath()에셋 로드
profile
게임 개발 기록

0개의 댓글