diff --git a/Assets/Data/Scripts/DataClasses/UpgradeData.cs b/Assets/Data/Scripts/DataClasses/UpgradeData.cs
new file mode 100644
index 0000000..3dd2362
--- /dev/null
+++ b/Assets/Data/Scripts/DataClasses/UpgradeData.cs
@@ -0,0 +1,37 @@
+// 이 파일은 자동 생성되었습니다. 직접 수정하지 마세요!
+// 생성 스크립트: DataTools/generate_csharp_classes.py
+
+using UnityEngine;
+using System.Collections.Generic; // 리스트 지원을 위해 추가
+
+namespace Northbound.Data
+{
+ [CreateAssetMenu(fileName = "UpgradeData", menuName = "Northbound/Upgrade Data")]
+ public partial class UpgradeData : ScriptableObject
+ {
+ [Header("기본 정보")]
+ /// 고유 ID
+ public int id;
+ /// 기획용 메모
+ public string memo;
+ /// 업그레이드 타입 • combat • harvest • building • scout
+ public string upgradeCategory;
+ /// 업그레이드 대상 • person • share
+ public string upgradeTarget;
+ /// 건물 구분 • core • barrack
+ public string upgradeShop;
+ /// 건설 비용 (mana=20)(mana=50; iron=10)
+ public int mana;
+ /// 선행 조건 ID (목록)
+ public List requireUpgradeId = new List();
+ /// 효과 타입 목록 • player_movespeed • player_sight • …
+ public List effectStatList = new List();
+ /// 계산식 목록 • add • mul • set
+ public List effectOpList = new List();
+ /// 효과 수치 목록
+ public List effectValueList = new List();
+ /// UI 정렬 값
+ public int sortOrder;
+
+ }
+}
\ No newline at end of file
diff --git a/Assets/Data/Scripts/DataClasses/UpgradeData.cs.meta b/Assets/Data/Scripts/DataClasses/UpgradeData.cs.meta
new file mode 100644
index 0000000..a080b46
--- /dev/null
+++ b/Assets/Data/Scripts/DataClasses/UpgradeData.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 4f134815569ad014e9ccc81ddc443c4c
\ No newline at end of file
diff --git a/GameData/.Upgrade_schema.json b/GameData/.Upgrade_schema.json
new file mode 100644
index 0000000..d2ad200
--- /dev/null
+++ b/GameData/.Upgrade_schema.json
@@ -0,0 +1,68 @@
+[
+ {
+ "name": "id",
+ "type": "int",
+ "condition": null,
+ "description": "고유 ID"
+ },
+ {
+ "name": "memo",
+ "type": "string",
+ "condition": null,
+ "description": "기획용 메모"
+ },
+ {
+ "name": "upgrade_category",
+ "type": "string",
+ "condition": null,
+ "description": "업그레이드 타입\\n • combat\\n • harvest\\n • building\\n • scout"
+ },
+ {
+ "name": "upgrade_target",
+ "type": "string",
+ "condition": null,
+ "description": "업그레이드 대상\\n • person\\n • share"
+ },
+ {
+ "name": "upgrade_shop",
+ "type": "string",
+ "condition": null,
+ "description": "건물 구분\\n • core\\n • barrack"
+ },
+ {
+ "name": "mana",
+ "type": "int",
+ "condition": null,
+ "description": "건설 비용\\n(mana=20)(mana=50; iron=10)"
+ },
+ {
+ "name": "require_upgrade_id",
+ "type": "list:int",
+ "condition": null,
+ "description": "선행 조건 ID (목록)"
+ },
+ {
+ "name": "effect_stat_list",
+ "type": "list:string",
+ "condition": null,
+ "description": "효과 타입 목록\\n • player_movespeed\\n • player_sight\\n • …"
+ },
+ {
+ "name": "effect_op_list",
+ "type": "list:string",
+ "condition": null,
+ "description": "계산식 목록\\n • add\\n • mul\\n • set"
+ },
+ {
+ "name": "effect_value_list",
+ "type": "list:float",
+ "condition": null,
+ "description": "효과 수치 목록"
+ },
+ {
+ "name": "sort_order",
+ "type": "int",
+ "condition": null,
+ "description": "UI 정렬 값"
+ }
+]
\ No newline at end of file
diff --git a/GameData/Upgrade.csv b/GameData/Upgrade.csv
new file mode 100644
index 0000000..46c2dfc
--- /dev/null
+++ b/GameData/Upgrade.csv
@@ -0,0 +1,16 @@
+id,memo,upgrade_category,upgrade_target,upgrade_shop,mana,require_upgrade_id,effect_stat_list,effect_op_list,effect_value_list,sort_order
+1,체력 증가 Lv.1,combat,person,Blacksmith,200,,player_max_hp,add,50,1
+2,체력 증가 Lv.2,combat,person,Blacksmith,300,1,player_max_hp,add,100,2
+3,체력 증가 Lv.3,combat,person,Blacksmith,400,2; 5,player_max_hp,add,150,3
+4,공격력 증가 Lv.1,combat,person,Blacksmith,200,,player_atk_damage,add,5,4
+5,공격력 증가 Lv.2,combat,person,Blacksmith,300,4,player_atk_damage,add,10,5
+6,공격력 증가 Lv.3,combat,person,Blacksmith,400,2; 5,player_atk_damage,add,15,6
+7,자원 최대 용량 증가 Lv.1,harvest,person,Blacksmith,200,,player_capacity,add,20,7
+8,자원 최대 용량 증가 Lv.2,harvest,person,Blacksmith,300,7,player_capacity,add,50,8
+9,자원 최대 용량 증가 Lv.3,harvest,person,Blacksmith,400,7; 10,player_capacity,add,100,9
+10,노동력 증가 Lv.1,harvest,person,Blacksmith,200,,player_manpower,add,5,10
+11,노동력 증가 Lv.2,harvest,person,Blacksmith,300,10,player_manpower,add,10,11
+12,노동력 증가 Lv.3,harvest,person,Blacksmith,400,7; 10,player_manpower,add,20,12
+13,이동속도 증가 Lv.1,scout,person,Blacksmith,200,,player_move_speed,mul,1.1,13
+14,이동속도 증가 Lv.2,scout,person,Blacksmith,300,13,player_move_speed,mul,1.2,14
+15,이동속도 증가 Lv.3,scout,person,Blacksmith,400,14,player_move_speed,mul,1.3,15