데브허브 | DEVHUB | Using DOTS to optimize GameObject gameplay: A case study from Survival Kids | Unite 2025Using DOTS to optimize GameObject gameplay: A case study from Survival Kids | Unite 2025
- Survival Kids는 Unity의 첫 자체 개발 게임으로, Nintendo Switch 2 런칭 타이틀로 Konami와 협력하여 출시되었습니다. 🎮
- 이 프로젝트는 실제 상업 게임 개발의 제약과 트레이드오프를 경험하며, Unity 6 공개 버전과 Netcode for Entities 기반의 커스텀 GameObject 레이어(Ghost Bridge)를 활용했습니다. 🏗️
- DOTS는 Entities/ECS를 넘어 Systems, Burst, Jobs, Native Collections, Transform Access Arrays를 포함하는 광범위한 기술 스택입니다. 💡
- 기존 MonoBehaviour 업데이트의 무작위 실행 순서로 인한 캐시 비효율성 문제를 해결하기 위해 DOTS Systems를 사용합니다. 🔄
- DOTS Systems를 통해 MonoBehaviour 업데이트의 프레임 내 위치와 실행 순서를 정밀하게 제어하여 캐시 효율성을 극대화할 수 있습니다. 🧠
- 성능 최적화를 위해서는 Unity Profiler, Profiler Analyzer 및 플랫폼별 네이티브 프로파일러(PIX 등) 사용이 필수적입니다. 📈
- CPU 캐시(L1, L2, L3)의 중요성을 이해하고, 데이터 접근 속도 차이를 고려한 최적화 전략이 핵심입니다. ⚡
SystemBase를 상속받아 시스템을 생성하고, UpdateInGroup, UpdateBefore, UpdateAfter 속성으로 업데이트 흐름을 제어하는 방법을 소개합니다. ⚙️
- 시스템을 싱글톤 패턴으로 구현하여 외부에서 접근 가능하게 함으로써 GameObject와 DOTS 시스템 간의 연결을 용이하게 합니다. 🌉
- Survival Kids는 1,000개 이상의 GameObject를 포함하는 대규모 레벨에서 Nintendo Switch 2 60 FPS 목표를 달성하며 DOTS의 GameObject 최적화 잠재력을 입증했습니다. ✅