diff --git a/Assets/Data/ScriptableObjects/Player.meta b/Assets/Data/ScriptableObjects/Player.meta
new file mode 100644
index 0000000..708833f
--- /dev/null
+++ b/Assets/Data/ScriptableObjects/Player.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 742538ee5bf65c645ad1f60cacbf3f9b
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Data/ScriptableObjects/Player/Player001.asset b/Assets/Data/ScriptableObjects/Player/Player001.asset
new file mode 100644
index 0000000..7a1a530
--- /dev/null
+++ b/Assets/Data/ScriptableObjects/Player/Player001.asset
@@ -0,0 +1,25 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3c7bc1620f10fad4e92a3e3acd46cf8c, type: 3}
+ m_Name: Player001
+ m_EditorClassIdentifier: Assembly-CSharp::Northbound.Data.PlayerData
+ id: 1
+ memo:
+ moveSpeed: 10
+ visionRadius: 20
+ capacity: 100
+ manpower: 10
+ maxHp: 100
+ atkRange: 6
+ atkDamage: 200
+ atkIntervalSec: 1
+ prefabPath: Assets/Prefabs/Player
diff --git a/Assets/Data/ScriptableObjects/Player/Player001.asset.meta b/Assets/Data/ScriptableObjects/Player/Player001.asset.meta
new file mode 100644
index 0000000..3dab627
--- /dev/null
+++ b/Assets/Data/ScriptableObjects/Player/Player001.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ba3572ed8c121e541bb57c091bbf926f
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Data/Scripts/DataClasses/PlayerData.cs b/Assets/Data/Scripts/DataClasses/PlayerData.cs
new file mode 100644
index 0000000..6bcbb8e
--- /dev/null
+++ b/Assets/Data/Scripts/DataClasses/PlayerData.cs
@@ -0,0 +1,37 @@
+// 이 파일은 자동 생성되었습니다. 직접 수정하지 마세요!
+// 생성 스크립트: DataTools/generate_csharp_classes.py
+
+using UnityEngine;
+using System.Collections.Generic; // 리스트 지원을 위해 추가
+
+namespace Northbound.Data
+{
+ [CreateAssetMenu(fileName = "PlayerData", menuName = "Northbound/Player Data")]
+ public class PlayerData : ScriptableObject
+ {
+ [Header("기본 정보")]
+ /// 고유 ID
+ public int id;
+ /// 기획 메모
+ public string memo;
+ /// 이동 속도
+ public float moveSpeed;
+ /// 시야 반경
+ public float visionRadius;
+ /// 운반 용량
+ public int capacity;
+ /// 생산 노동량
+ public float manpower;
+ /// 체력
+ public int maxHp;
+ /// 사정거리
+ public int atkRange;
+ /// 데미지
+ public int atkDamage;
+ /// 공격 주기
+ public float atkIntervalSec;
+ /// 프리팹/리소스 경로
+ public string prefabPath;
+
+ }
+}
\ No newline at end of file
diff --git a/Assets/Data/Scripts/DataClasses/PlayerData.cs.meta b/Assets/Data/Scripts/DataClasses/PlayerData.cs.meta
new file mode 100644
index 0000000..77efd62
--- /dev/null
+++ b/Assets/Data/Scripts/DataClasses/PlayerData.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 3c7bc1620f10fad4e92a3e3acd46cf8c
\ No newline at end of file
diff --git a/GameData/Player.csv b/GameData/Player.csv
new file mode 100644
index 0000000..28ff483
--- /dev/null
+++ b/GameData/Player.csv
@@ -0,0 +1,2 @@
+id,memo,move_speed,vision_radius,capacity,manpower,max_hp,atk_range,atk_damage,atk_interval_sec,prefab_path
+1,,10,20,100,10,100,6,200,1,Assets/Prefabs/Player