프로젝트 개요

캐릭터 능력치, 스킬과 아이템 등의 게임 데이터를 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의 모든 수식·서식·차트와의 호환성을 보장하지 않습니다.

Unity Asset Store에서 보기