🔍 학습 배경
Unity에서 Node.js 서버와 통신하며 로그인, 인벤토리 조회, 아이템 사용 등 서버 데이터를 주고받는 흐름을 체계적으로 정리하고자 했다.
🧩 주요 학습 내용
1. UnityWebRequest를 통한 통신
- 서버 요청 시 UnityWebRequest.Post() 혹은 Get() 사용
- 결과는 request.downloadHandler.text로 JSON 문자열을 받아 파싱
- JsonConvert.DeserializeObject<PlayerData>()를 통해 C# 객체화
2. JSON 구조 매칭
- JSON 키와 C# 클래스 필드명이 정확히 매칭되어야 역직렬화 성공
- Unity 내 PlayerData 클래스를 서버 응답 구조와 동일하게 정의해야 함
3. 로그인 후 흐름
- 로그인 성공 시 서버로부터 seq, userId, level, gold, exp 등의 정보를 받아 UI 및 내부 시스템에 반영
- 이후 Photon 등의 네트워크 시스템 접속이나 씬 전환 등 다음 흐름으로 연결할 예정
💡 느낀 점
서버-클라이언트 연동에서 가장 중요한 것은 데이터 일치성과 예외 처리이다. 예를 들어 필드명이 틀리거나 null 데이터가 들어오면 파싱이 실패하고 이후 로직이 중단된다. 또한 로그인 응답이 성공했는지 아닌지를 먼저 확인하고 처리 분기를 나누는 것도 필수적인 안정성 장치다.
'Unity > Unity 개발' 카테고리의 다른 글
| 룬 / 스킬 시스템 구조 통합 방향 설계 (0) | 2025.06.30 |
|---|---|
| Photon PUN2의 로비 및 룸 구조 이해 (0) | 2025.06.13 |
| MySQL 기반 인벤토리/계정 시스템 설계 (1) | 2025.06.12 |
| Node.js 기반 게임 API 서버 설계 (0) | 2025.06.12 |
| Photon Networking (1) | 2025.06.12 |