개요

데이터 로딩 방식은 다양하게 존재합니다.

예를 들어, 리소스 양이 적다면 처음부터 모든 리소스를 미리 로드할 수도 있고, 반대로 필요할 때마다 로드하는 방식도 있습니다.

이와 관련하여 ChatGPT에게 “유니티에서 리소스를 미리 로드하는 방식과 필요할 때 로드하는 방식의 차이점은 무엇인가요?”을 물어보겠습니다.

미리 로드하는 방식은 메모리 사용량이 높고 응답 속도는 빠르고, 필요할 때 로드하는 방식은 메모리 사용량은 낮고, 응답 속도가 느릴 수 있는 차이점이 있습니다.

자세한 답변은 영상 설명란에 있는 링크로 추가해 놓겠습니다.

이번 프로젝트에서는 로딩 씬에서 게임에 필요한 모든 테이블과 프리팹을 로드하는 방식을 채택하였습니다.

처음에는 테이블만 로드했으나, 이후에는 프리팹과 ScriptableObject도 함께 로드하도록 확장하였습니다.


테이블 로딩

저는 기존에 txt 파일을 주로 사용해왔기 때문에, 구글 시트를 활용하여 테이블을 관리하고 있습니다.

각 테이블은 반드시 **Uid(고유번호)**를 포함해야 하며, 컬럼 이름은 약어 없이 풀네임으로 작성하고 있습니다.

향후에는 유니티에서 구글 시트 데이터를 직접 불러와 클래스를 생성하고 txt 파일을 자동으로 생성하는 방식으로 확장할 계획입니다.

테이블 초기화

DefaultTable 클래스의 LoadData 처리 방식