업데이트 빌드 생성
콘텐츠를 원격으로 배포할 때 이전에 퍼블리시된 빌드의 차등 업데이트를 수행하여 전체 빌드에 비해 사용자가 다운로드해야 하는 데이터의 양을 최소화할 수 있습니다.
원격 그룹을 올바르게 설정했으며 원격 콘텐츠가 포함된 이전 빌드를 사용하는 경우 다음과 같은 방법으로 콘텐츠 업데이트 빌드를 수행할 수 있습니다.
- Groups 창(메뉴: Windows > Asset Management > Addressables > Groups)을 엽니다.
- 툴바의 Profile 메뉴에서 원하는 프로파일을 선택합니다.
- Build 메뉴에서 Update a Previous Build 를 선택합니다.
- 업데이트하는 빌드에서 생성된
addressables_content_state.bin
파일을 찾습니다. 기본 위치는Assets/AddressableAssetsData/TargetPlatform
폴더입니다. - Open 을 클릭하여 빌드 업데이트를 시작합니다.
기존 클라이언트를 업데이트하려면 적절한 테스트 후 업데이트된 원격 콘텐츠를 호스팅 서비스에 복사합니다. 업데이트 빌드에는 로컬 및 원격 콘텐츠가 모두 포함되며, 콘텐츠 업데이트 빌드 후에 생성하는 모든 플레이어 빌드에는 전체 어드레서블 에셋 세트가 포함됩니다.
이전 빌드를 업데이트해도 addressables_content_state.bin
파일이 변경되지는 않습니다. New Build 메뉴에서 생성한 다른 전체 빌드를 퍼블리시할 때까지 향후 업데이트 빌드에 동일한 버전의 파일을 사용합니다.
콘텐츠 업데이트 빌드를 사용하는 자세한 방법 및 시점은 콘텐츠 업데이트 빌드를 참조하십시오.
번들 변경 최소화
콘텐츠 번들은 크기가 클 수 있으며, 사소한 변경 사항으로 인해 전체 번들을 업데이트해야 하는 경우 MonoScript의 사소한 변경 사항에 대해 많은 양의 데이터가 업데이트될 수 있습니다.
어드레서블 설정에서 MonoScript Bundle Naming Prefix 옵션을 활성화하면 직렬화된 데이터와는 별도로 MonoScript 오브젝트가 포함된 에셋 번들을 빌드합니다. 직렬화된 클래스 데이터에 변경 사항이 없는 경우 MonoScript 번들만 변경되며 다른 번들은 업데이트할 필요가 없습니다.
어드레서블을 다시 빌드해야 하는 스크립트 변경 사항
Unity는 MonoScript 오브젝트를 사용하여 어드레서블 콘텐츠의 클래스를 참조합니다. 이 오브젝트는 어셈블리 이름 네임스페이스와 클래스 이름 또는 참조된 클래스를 사용하여 클래스를 정의합니다.
런타임에 콘텐츠를 로드할 때 Unity는 MonoScript를 사용하여 플레이어 어셈블리에서 런타임 클래스의 인스턴스를 로드 및 생성합니다.
MonoScript의 변경 사항은 플레이어와 빌드된 어드레서블 콘텐츠 간에 일관적이어야 합니다. 클래스를 올바르게 로드하려면 플레이어 콘텐츠와 어드레서블 콘텐츠를 모두 다시 빌드해야 합니다.
다음 작업을 수행하면 MonoScript 데이터가 변경될 수 있습니다.
- 다른 어셈블리 정의 파일 아래에 오는 위치로 스크립트 파일 이동
- 클래스를 포함하는 어셈블리 정의 파일의 이름 변경
- 클래스 네임스페이스 추가 또는 변경
- 클래스 이름 변경