Skip to content

Commit 4a15565

Browse files
committed
docs : 파일 구조 문서
1 parent 0c28c9d commit 4a15565

File tree

2 files changed

+107
-0
lines changed

2 files changed

+107
-0
lines changed
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
2+
# 📁 ProjectVG Unity 클라이언트 구조 가이드
3+
4+
이 문서는 `Assets/` 디렉토리 기준의 Unity 클라이언트 프로젝트 구조 및 디렉토리 용도/명명 규칙을 설명합니다.
5+
6+
---
7+
8+
## 🗂 전체 구조
9+
10+
```
11+
Assets/
12+
├── App/ # 진입점, 전체 앱 설정
13+
│ ├── Scenes/ # 메인 씬, 로딩 씬 등
14+
│ └── App.cs # 앱 초기화/엔트리 진입
15+
16+
├── Core/ # 전역 공통 기능
17+
│ ├── Input/ # 입력 처리 (Touch, Mouse, Key 등)
18+
│ ├── Audio/ # BGM, SFX, 오디오 매니저
19+
│ ├── Localization/ # 다국어 지원
20+
│ ├── Time/ # 시간 유틸 (타이머, 딜레이 등)
21+
│ ├── Extensions/ # Unity, LINQ, System 확장 메서드
22+
│ └── Utils/ # 범용 유틸리티 클래스
23+
24+
├── Infrastructure/ # 외부 서비스, 저장소, 네트워크
25+
│ ├── Data/ # 로컬/클라우드 저장소 (SaveData, PlayerPrefs)
26+
│ ├── Network/ # 서버 API 호출, Response DTO
27+
│ └── Bridge/ # Native, 외부 SDK 연동 (예: Android, iOS 기능)
28+
29+
├── Domain/ # 도메인(기능)별 묶음
30+
│ ├── Character/
31+
│ │ ├── Model/
32+
│ │ ├── View/
33+
│ │ ├── Script/
34+
│ │ └── Animation/
35+
│ ├── Chat/
36+
│ │ ├── Script/
37+
│ │ ├── View/
38+
│ │ └── Model/
39+
│ ├── Popup/
40+
│ │ └── System/ # 팝업 매니저, 팝업 큐
41+
│ │ └── Instances/ # 실제 팝업 프리팹들
42+
│ └── System/ # 게임 로직 컨트롤러, FSM 등 (선택)
43+
44+
├── UI/ # UI 공통 요소
45+
│ ├── Prefabs/ # 공용 UI 프리팹 (버튼, 아이콘, 툴팁 등)
46+
│ ├── Panels/ # HUD, 메인패널 등
47+
│ ├── Scripts/ # UI 상호작용 스크립트
48+
│ ├── Transitions/ # UI 전환 효과 (페이드, 이동 등)
49+
│ └── Fonts/ # UI 폰트
50+
51+
├── Resources/ # Resources.Load() 로드 대상
52+
│ ├── Configs/ # Json 기반 설정파일
53+
│ └── AddressablesDummy/ # Addressable 사용 안 할 때 대체
54+
55+
├── Addressables/ # 어드레서블 관리용 분리 리소스 (선택)
56+
│ ├── UI/
57+
│ ├── Characters/
58+
│ └── Scenes/
59+
60+
├── Plugins/ # 외부 라이브러리/Live2D SDK
61+
│ └── Live2D/
62+
│ └── CubismSdkForUnity/
63+
64+
├── Editor/ # 커스텀 에디터 코드 (.cs만 가능)
65+
│ └── Inspectors/
66+
│ └── PropertyDrawers/
67+
│ └── MenuItems/
68+
69+
├── Tests/ # 테스트
70+
│ ├── Editor/ # Editor Test
71+
│ └── Runtime/ # PlayMode Test, 유닛 테스트
72+
73+
├── Art/ # 디자인 원본 (PSD, AI 등) - 버전 관리 제외 가능
74+
75+
└── Docs/ # 문서 (설계, 흐름도, README 등)
76+
```
77+
78+
---
79+
80+
## 📌 네이밍 가이드 요약
81+
82+
- 디렉토리 및 클래스명: **PascalCase**
83+
- 변수 및 메서드: **camelCase**
84+
- JSON 및 설정파일: **snake_case**
85+
- Addressable 키: `/` 구분, 예: `UI/PanelChat`
86+
- UI 오브젝트 접두어: `Panel`, `Btn`, `Txt`, `Img`, `Group`
87+
88+
---
89+
90+
## ✅ 활용 예시
91+
92+
- `Domain/Character/Model/` → Live2D `.moc3`, `.json`, 모션 설정
93+
- `Core/Audio/AudioManager.cs` → SFX, BGM 전역 제어
94+
- `Infrastructure/Network/ApiClient.cs` → REST API 통신 처리
95+
- `UI/Panels/PanelMain.prefab` → 메인 화면 UI
96+
- `Tests/Runtime/CharacterMotionTest.cs` → 캐릭터 모션 유닛 테스트
97+
98+
---
99+
100+
> 이 문서는 신규 팀원이 구조를 빠르게 이해하고 규칙대로 작업할 수 있도록 작성된 **구조 및 명명 가이드라인**입니다.

Assets/Docs/ProjectVG_Structure_Guide.md.meta

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)