에셋 번들을 정의할 경우 알아 두어야 할 몇 가지 규칙이 있습니다.
이러한 규칙 외에는 원하는 번들에 자유롭게 에셋을 할당할 수 있습니다. 하지만 번들을 설정할 때 고려해야 할 몇 가지 전략이 있습니다.
논리적 엔티티 그룹화는 각 프로젝트의 에셋 번들에 들어갈 내용을 구성하는 방법을 결정할 때 사용할 수 있는 전략입니다. 원칙은 각 콘텐츠가 나타내는 프로젝트의 기능적 부분을 기준으로 결정해야 한다는 것입니다. 여기에는 사용자 인터페이스, 캐릭터, 환경 및 애플리케이션의 수명 주기 동안 자주 나타날 수 있는 기타 모든 섹션이 포함됩니다.
논리적 엔티티 그룹을 기준으로 에셋 번들을 구성하면 사용자가 변경되지 않은 대량의 추가 에셋을 다시 다운로드할 필요 없이 프로젝트에 작은 변경 사항을 더 쉽게 적용할 수 있으므로 DLC(다운로드 가능한 콘텐츠)에 매우 적합합니다.
이 전략을 올바르게 이행하는 데 가장 중요한 비결은 에셋을 각 번들에 할당하는 개발자가 각 에셋이 프로젝트에서 사용될 시기와 위치를 정확히 알아야 한다는 것입니다.
타입 그룹화 전략에서는 오디오 트랙이나 언어 현지화 파일 등 타입이 비슷한 에셋을 하나의 에셋 번들에 할당합니다.
타입 그룹화는 거의 변경되지 않는 에셋 번들을 설정하는 데 유용할 수 있습니다. 이러한 방식으로 에셋 번들을 그룹화하면 증분 빌드 시 변경되거나 배포해야 하는 에셋 번들의 수가 줄어들 수 있습니다. 단점은 런타임 시 모든 종속 오브젝트를 함께 어셈블하기 위해 더 많은 에셋 번들을 다운로드하고 로드해야 할 수 있다는 것입니다.
동시 콘텐츠 그룹화는 동시에 로드되고 사용될 에셋을 하나의 번들로 묶는 개념입니다. 이 번들 타입은 각 레벨의 캐릭터, 텍스처, 음악 등이 완전히 다른 레벨 기반 게임에 사용되는 번들 타입이라고 생각할 수 있습니다. 이런 에셋 번들 중 하나에 있는 에셋이 해당 번들의 나머지 에셋이 사용되는 시간에만 동시에 사용된다고 100% 확신할 수 있기를 원합니다. 동시 콘텐츠 그룹화 번들에 포함된 에셋 하나에 종속성이 있으면 로드 시간이 크게 증가합니다. 해당 에셋의 전체 번들을 다운로드해야 하기 때문입니다.
동시 콘텐츠 그룹화의 가장 일반적인 이용 사례는 씬 기반 번들입니다. 이 할당 전략에서는 각 씬 번들에 해당 씬 종속성이 모두 포함되거나 대부분 포함됩니다.
참고: 씬이 포함된 에셋 번들을 빌드할 때 에셋이 다른 에셋 번들에 명시적으로 할당되지 않는 한, 해당 씬에서 참조하는 모든 에셋도 자동으로 에셋 번들에 포함됩니다. 이는 동시 콘텐츠 그룹화를 수행할 때 편리하지만, 참조된 에셋이 별도의 에셋 번들로 빌드하는 다른 씬에서도 사용되는 경우 중복 에셋에 주의해야 합니다.
프로젝트는 필요에 따라 이러한 전략을 혼합하여 사용할 수 있으며, 그렇게 해야 합니다. 주어진 시나리오에 맞는 최적의 에셋 할당 전략을 사용하면 프로젝트의 효율성이 매우 높아집니다.
예를 들어. 한 프로젝트에서 다양한 플랫폼의 사용자 인터페이스(UI) 요소를 자체적인 플랫폼 UI 관련 번들로 그룹화하지만 대화식 콘텐츠는 레벨/씬별로 그룹화하기로 결정할 수 있습니다.
어떤 전략을 따르든 관계없이, 아래의 추가 팁을 항상 염두에 두는 것이 좋습니다.