
Unreal Engine에서 데이터를 기반으로 프로젝트를 설계하고 개발하는 방식은, 이미 익숙한 개발자에게는 비교적 자연스러운 개념일 수 있다.
하지만 막상 기초로 막 학습하려고 하면, Unreal Engine에서 데이터를 어떤 관점으로 바라보고 어떻게 구조화해야 하는지를 체계적으로 설명해 주는 자료는 생각보다 많지 않았다.(사실 그냥 없었던 거 같다.)
그래서 이 시리즈는 단순히 Data Table, Data Asset 같은 기능을 단순히 나열하는 것이 아니라, Unreal Engine에서 데이터를 중심으로 프로젝트를 설계한다는 것이 실제로 무엇을 의미하는지를 흐름에 따라 정리해 보는 것을 목표로 해보았다.
이 시리즈의 전체 흐름을 되돌아보며 풀어보면 다음과 같다.

Data Table과 Data Asset을 중심으로, Unreal Engine에서 데이터가 어떤 형태로 정의되고 저장되는지를 살펴보았다.
Asset Registry와 Asset Manager를 통해, 저장된 데이터가 프로젝트 내부에서 어떻게 식별되고 관리되는지를 정리했다.
Soft Reference와 Async Loading을 중심으로, 데이터가 언제 어떤 방식으로 메모리에 올라오는지를 다루었다.
Data Definition, Data Instance, Data Modifier 관점에서, 데이터가 런타임 로직 안에서 어떻게 해석되고 활용되는지를 살펴보았다.
Data Save & Load, Data Validation을 통해, 데이터 기반 구조를 실제 프로젝트에서 어떻게 유지하고 검증할 수 있는지를 정리했다.
마지막으로 Lyra Starter Game 프로젝트를 통해 실제로 언리얼 엔진에서 Data-Driven 설계가 어떤 식으로 이루어져 있는 지 살펴보았다.
물론 모든 시스템을 반드시 Data-Driven하게 만들어야 하는 것은 아니다.
하지만 어떤 부분을 데이터로 분리할지, 어떤 부분은 코드에 남길지를 의식적으로 선택할 수 있게 되는 순간부터, 프로젝트를 바라보는 관점 자체가 달라질 것이다.부족하게나마 이 시리즈를 통해 Unreal Engine에서 데이터를 다루는 방식을 조금 더 구조적으로 이해하는 데 도움이 되기를 바란다.
Written by Imeamangryang.