Addressables를 사용한 콘텐츠 디렉토리
요약
본 기사는 Unity 6.6에서 도입된 새로운 콘텐츠 패키징 시스템인 Content Directories를 소개하며, 기존 Addressables 시스템과의 연동 방법을 다룹니다. 개발자들은 Addressables 그룹의 'Convert Schemas to Content Directory' 기능을 사용하여 Asset Bundles 기반 프로젝트를 Content Directories로 원활하게 마이그레이션할 수 있습니다. 이 과정을 통해 더 빠른 로딩 속도와 낮은 메모리 사용량 등의 이점을 얻을 수 있습니다.
핵심 포인트
- Addressables는 콘텐츠 구성 경험 개선을 위한 고수준 시스템입니다.
- Asset Bundles 기반 프로젝트를 Content Directories로 쉽게 마이그레이션 가능합니다.
- 마이그레이션 시 'Convert Schemas to Content Directory' 기능을 사용해야 합니다.
- Content Directories는 내장된 중복 제거 시스템으로 추가 작업이 필요 없습니다.
이전 영상에서 우리는 Unity 6.6과 함께 출시되는 새로운 콘텐츠 패키징 시스템인 Content Directories를 소개했습니다. 이는 Asset Bundles의 대안을 제공합니다. 이번 영상에서는 Content Directories가 Addressables 패키지와 어떻게 연동되는지에 초점을 맞출 것입니다. 아시다시피, Addressables는 게임 내 콘텐츠 구성 경험을 개선하기 위해 설계된 고수준(high-level) 시스템으로, 에셋들을 그룹화하여 정리할 수 있는 시각적 인터페이스를 제공합니다. 게다가 Content 빌드의 결과를 분석하는 디버깅 및 분석 도구도 포함하고 있습니다. 원래 Addressables는 Asset Bundles 위에 사용되도록 설계되었습니다. 따라서 Unity 6.6 이전의 많은 프로젝트들은 Asset Bundles와 Addressables 패키지를 사용해 왔습니다. Asset Bundles에서 Content Directories로 원활하게 마이그레이션할 수 있도록, 저희는 Addressables 4.0에 도구를 도입하여, Addressables를 고수준 시스템으로 계속 사용할 수 있게 했으며, 심지어 Asset Bundles에서 아티팩트를 생성하는 하부 기술 자체를 Content Directories로 교체할 수 있게 했습니다. 이제 이 마이그레이션을 어떻게 수행하는지 빠르게 살펴보고, 나중에 내부적으로 어떤 일이 일어나고 있는지 더 자세히 이야기하겠습니다. Addressables 프로젝트를 Asset Bundles 사용에서 Content Directories 사용으로 마이그레이션하려면, Addressables 그룹부터 시작해야 합니다. 마이그레이션되지 않은 그룹은 테이프로 묶인 파일 다발처럼 보이는 이 아이콘으로 식별됩니다. 이러한 그룹을 선택하면, Inspector 창에서 해당 그룹이 백엔드로 Asset Bundles를 대상으로 하는 패킹 스키마(packing schema)를 사용하도록 설정되어 있음을 볼 수 있습니다. 마우스 오른쪽 버튼을 클릭하고 'Convert Schemas to Content Directory'를 선택합니다. 그러면 Inspector 창에서 새로운 패킹 스키마가 추가되었고, 이제 Content Directories에 의존하는 것을 확인할 수 있습니다. 아이콘 역시 하나의 큰 묶음처럼 보이기보다는, 필요할 때 개별적으로 로드될 준비가 된 파일들이 놓여 있는 트레이 모양으로 변경됩니다.
다른 그룹에 대해서도 이 과정을 반복하면 완료됩니다. 이것이 끝나면 게임을 테스트할 시간입니다. 만약 Asset References와 같은 기본 Addressables 도구 및 API에 의존해 왔다면, 수정 없이 바로 작동해야 합니다. 하지만 여전히 Content Directories를 사용함으로써 더 빠른 로딩 속도, 낮은 메모리 사용량 등의 이점을 얻게 될 것입니다. 다음 단계로 넘어가기 전에 한 가지 중요한 점을 언급하는 것이 중요합니다. 만약 자산을 Addressables로 명시적으로 표시하고 중복을 피하기 위해 그룹화했다면, 이제 안심하고 그렇게 했던 것을 되돌리고 해당 자산의 체크를 해제할 수 있습니다. Content Directories는 내장된 중복 제거 시스템을 가지고 있기 때문에 더 이상 이러한 추가 작업에 대해 걱정할 필요가 없습니다. 모든 것이 자동으로 처리됩니다. 마이그레이션이 완료되었으므로, 내부적으로 무슨 일이 일어나고 있는지 좀 더 깊이 파헤치고 싶다면 계속 지켜봐 주시고 Content Layout에 대해 이야기하는 시간을 갖겠습니다. 고려해야 할 한 가지는 프로젝트를 Asset Bundles에서 Content Directories로 마이그레이션할 때 콘텐츠가 두 시스템 간에 일대일로 구조화되지 않는다는 것입니다. 이미 알고 계시겠지만, 수동 방식이나 이전 비디오를 탐색해 보면 Content Directories는 루트 자산(root Assets)의 개념을 중심으로 돌아갑니다. 이는 스크립터블 오브젝트(scriptable objects)이며, 차례로 패킹해야 하는 모든 자산에 대한 직접적 또는 간접적 참조를 포함합니다. 기본적으로 이것들이 의존성 체인의 루트 역할을 합니다. 반면 Asset Bundles에서는, 그리고 아마도 Unity 6.6 이전까지 지금까지 해왔던 방식일 것입니다. 전략은 포함하려는 각 자산을 Addressable로 명시적으로 표시하고 어떤 번들(bundle)에 속할지 지정하는 것이었습니다. 이 명시적으로 표시된 자산들은 또한 Content Directories에서 발생하는 것과 매우 유사하게 직접적 및 간접적인 의존성을 포함했습니다.
하지만 이러한 의존성, 아니 사실상 표시된 모든 Asset은 단일 Asset Bundle에 포함될 수도 있고 여러 개의 다른 Asset Bundle에 포함될 수도 있었으며, 이것들을 어떻게 패키징하고 어디에 배치할지 결정하는 것이 작업의 핵심이자 논란의 여지가 있을 정도로 시간이 많이 걸리는 부분이었습니다. 따라서 Addressables 패키지를 사용한 프로젝트에서 이러한 구성 작업을 살펴보면, 워크플로우는 일반적으로 어떤 Asset을 명시적으로 Addressables로 표시할지 결정하고, 그런 다음 지정된 창(window) 내부에서 이들을 Addressables 그룹으로 정리하는 것을 중심으로 돌아갑니다. 그룹은 자체적인 설정을 가지며, 여기에는 나열된 Asset들이 개별적으로 패킹될지, 각각의 번들로 패킹될지, 아니면 모두 하나의 큰 번들로 패킹될지를 포함하여 다양한 측면이 정의됩니다. 그리고 어떤 이유로든 특정 Asset을 반드시 자신만의 번들에 패킹하도록 강제해야 할 경우, 이 과정을 반복해야 했고, 어쩌면 더 많은 그룹을 생성해야 했습니다. 그렇다면 Addressables 그룹을 Content Directory를 사용하도록 변환할 때 우리가 설명했던 번들 레이아웃은 실제로 어떻게 되는 것일까요? 간단합니다. 사라집니다. Content Directory에서는 번들이 없습니다. 모든 Asset이 개별적으로 빌드되어 자체적으로 로드 및 언로드될 준비가 되어 있습니다. 그리고 만약 그룹에 명시적으로 나열되지 않은 경우, Content Directory에 필요한 루트 Asset은 어디에 있을까요? 답은 이렇습니다. 그룹을 이렇게 마이그레이션하면 Unity가 자동으로 루트 Asset을 생성해 줍니다. 이것을 찾으려면 콘텐츠를 빌드한 후, Build Analysis 창을 열고 왼쪽 열에서 최신 콘텐츠 빌드를 선택한 다음, Assets 탭으로 이동하면 하나의 루트 Asset만 생성된 것을 볼 수 있습니다. 오른쪽 클릭하여 'Showing Project'를 선택하면 프로젝트 창에 표시됩니다. 이제 모든 Addressable Asset이 단순히 로드 가능한 항목들의 긴 목록으로 나열된 것을 볼 수 있습니다. Scene의 경우도 마찬가지입니다. 이 두 목록이 해당 Asset들이 콘텐츠 빌드에 포함되도록 보장합니다. 이는 마이그레이션의 일부로 자동으로 처리되는 것입니다. 기본적으로는 이것이 전부입니다.
자동 마이그레이션 프로세스를 사용할 경우, 게임의 모든 콘텐츠가 포함된 하나의 루트 에셋 목록을 얻게 됩니다. 이전 영상에서 우리가 기존 Addressables Asset Bundle 프로젝트를 위해 이 자동 마이그레이션 경로를 제공하지만, 이미 Content Directory를 목표로 계획하고 있다면 Addressables로 새 프로젝트를 시작하는 것은 권장하지 않는다고 언급했던 이유를 이제 이해하게 될 것입니다. 직접 Content Directory를 사용함으로써, 실제로 이러한 루트 에셋을 어떻게 구조화할지 그리고 무엇을 참조할지에 대해 더 많은 제어권을 얻게 되기 때문입니다. 단순한 목록이라기보다는, 원하는 방식으로 참조를 구조화하기로 결정할 수 있습니다. 이 영상이 유용했기를 바랍니다. 다음 영상에서 뵙겠습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 YouTube Unity 공식의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기