프로젝트 개요
캐릭터 능력치, 스킬과 아이템 등의 게임 데이터를 Unity 안에서 작성하기 위한 에디터 도구입니다. 열 이름과 타입으로 C# 데이터·테이블 클래스를 생성하고, 런타임에서는 바이너리 데이터를 읽어 ID로 조회합니다.
- 작업 기간 (Git 커밋 기록 기준): 2023.07.31 ~ 2026.10.24
- 개발 형태: AI 활용 개인 개발
- 기술: C#, Unity 에디터 확장, XLSX·CSV, 바이너리 직렬화
- 기록된 검증 환경: Windows, Unity 6000.0.83f1, Built-in 렌더 파이프라인
주요 구현
- XLSX·CSV를 열어 시트를 탐색하고 셀을 편집·저장합니다.
- 열 이름, 타입, 설명과 고유값 조건을 지정하고 저장 전에 타입 불일치와 중복을 검사합니다.
- 셀·범위 참조와 산술·비교 연산, 함수 수식을 계산합니다.
- 타입별 C# 데이터 클래스와 ID 조회용 테이블 클래스, 계산된 값의 바이너리를 생성합니다.
- 복사·붙여넣기, 자동 채우기, Undo/Redo와 찾기를 구현했습니다.
- 런타임 동기·비동기 로딩과 오버라이드 저장을 처리합니다.
개발 포인트
- 일반 통합문서 편집과 등록된 게임 테이블의 저장 규칙을 구분하고, 게임 테이블에 스키마 검증과 타입별 코드 생성을 적용합니다.
DataLoader가 런타임 데이터 로딩을 담당하며, 생성된 테이블의GetData(id)로 행 데이터를 조회합니다.- 생성 코드와 사용자 확장 코드를
partial클래스로 나누어 다시 생성할 때 확장 파일을 유지합니다. - 런타임 저장 데이터는
Application.persistentDataPath/DesignDataTable/에 기록하고 이후 로딩에서 우선 적용합니다.
원본 편집, 수식 계산과 검증을 거친 데이터를 코드와 바이너리로 내보내 게임에서 조회하는 구성입니다. Excel의 모든 수식·서식·차트와의 호환성을 보장하지 않습니다.