Unity 전용 서버 에셋 번들 빌드 가이드
이 문서는 Unity의 전용 서버에서 에셋 번들을 빌드하는 방법에 대한 공식 가이드를 한국어로 해설하고, 몇 가지 활용 및 응용 예제를 제공합니다.
전용 서버 에셋 번들
Unity 2023.1.0a21부터는 전용 서버에 최적화된 에셋 번들을 빌드할 수 있습니다. 에셋 번들을 빌드하기 위해 스크립트를 사용할 수 있으며, BuildAssetBundlesParameters 구조체의 subtarget 필드를 StandaloneBuildSubtarget.Server로 지정해야 합니다.
기본 코드 예제
에셋 번들을 빌드하는 기본 코드는 다음과 같습니다:
BuildAssetBundlesParameters serverAssetBundleParameters =
{
outputPath = /*some example asset path here, not entirely relevant*/,
options = BuildAssetBundleOptions.None,
targetPlatform = BuildTarget.StandaloneWindows64, // 대안으로 MacOS 또는 Linux 플랫폼 가능
subtarget = StandaloneBuildSubtarget.Server
};
BuildPipeline.BuildAssetBundles(serverAssetBundleParameters);
이 코드를 사용하여 에셇 번들을 빌드한 후, 런타임 시 플레이어에서 이를 로드할 수 있습니다. 에셋 번들을 네이티브로 사용하는 방법에 대해 더 알고 싶다면 관련 문서를 참조하세요.
유의사항
- 에셋 번들을 로딩할 때, 해당 에셋 번들의 타겟 플랫폼이 플레이어의 타겟 플랫폼과 일치하는지 확인해야 합니다. 하지만, 에셋 번들의 하위 타겟은 확인하지 않으므로 주의가 필요합니다.
- 비서버용 스탠드얼론 플레이어로 빌드된 에셋 번들은 로드하지 않아야 하며, 전용 서버 하위 타겟을 대상으로 하는 에셋 번들도 금지됩니다.
활용 및 응용 예제
1. 게임 업데이트
정기적으로 게임의 에셋 번들을 업데이트하여 새로운 콘텐츠를 추가할 수 있습니다. 서버에서 새로운 에셋 번들을 배포한 후, 클라이언트에서 이를 자동으로 로드하도록 구현할 수 있습니다.
2. 모듈화된 게임 구조
게임을 모듈화하여 필요한 에셋만 선택적으로 다운로드하게 할 수 있습니다. 예를 들어, 특정 레벨에 필요한 에셋 번들만 서버에서 로드하는 방식입니다.
3. 동적 콘텐츠 로딩
서버에 있는 에셋 번들을 통해 동적으로 게임 콘텐츠를 로딩하여, 플레이어에게 다양한 경험을 제공할 수 있습니다.
| 활용 예제 | 설명 |
|---|---|
| 게임 업데이트 | 새로운 콘텐츠 추가를 위해 에셋 번들을 정기적으로 업데이트 |
| 모듈화된 게임 구조 | 특정 에셋만 선택하여 다운로드해 게임의 크기를 줄임 |
| 동적 콘텐츠 로딩 | 서버에서 에셋을 동적으로 로딩하여 플레이어에게 다양한 경험 제공 |
이 가이드를 통해 Unity의 전용 서버 에셋 번들을 효과적으로 빌드하고 활용하는 방법을 이해할 수 있습니다. 추가 질문이나 더 많은 정보가 필요하시다면 Unity의 공식 문서를 참조하시기 바랍니다.