핵심 요약
데브시스터즈의 Sonic은 Next.js + tRPC 기반 웹앱으로, 변경된 파일만 S3에 업로드하고 메타데이터를 로컬 Git에 커밋해 번들을 관리하며 Unity 클라이언트에 ZIP 스트리밍으로 전달합니다.
구현 방법
- xxHash32 WASM으로 해 hash를 비교해 변경 파일을 식별(SHA-256은 1분, xxHash32는 3초에 비교)
- S3 Versioning 버킷에 파일 저장, 메타데이터를 Git 커밋으로 관리(파일명/VersionId/Revision/생성자/생성시각)
- Unity REST API로 Rev 목록을 받고 diff로 차이 파일 목록을 산출해 ZIP 스트림으로 전송
주요 결과
- 8개월간 큰 이슈 없이 사운드 리소스 전달을 안정적으로 수행
- UI 최소화로 학습 부담 감소 및 전달 효율 향상

