본문 바로가기
학습

유니티 Play Asset Delivery 이용하기

by 티오피스 2024. 10. 25.
반응형

유니티로 제작한 게임을 구글플레이스토어에 업로드 하니까 용량이 200메가이상인 파일은 제한이 걸려있었다. 그래서 에셋을 나눠서 빌드를 해야 한다. 유니티의 AssetBundle로 우선 패키지들을 나눠주고, 이후 Play Asset Delivery를 이용해서 빌드를 한다.

 

1. AssetBundle 생성하기

먼저, 프로젝트에서 리소스를 AssetBundle로 패키지화해야 합니다.

 

유니티 패키지 매니저로 아래url로 패키지를 받아서 불러온다.

https://github.com/Unity-Technologies/AssetBundles-Browser.git

AssetBundle 생성하기

에셋 번들 설정

  1. 리소스 설정: 프로젝트에서 에셋(텍스처, 모델, 사운드 파일 등)을 선택합니다.
  2. AssetBundle 이름 지정
    • Inspector 창에서 하단의 AssetBundle 섹션을 찾습니다.
    • 원하는 리소스 파일에 대해 AssetBundle 이름을 지정합니다.
    • 예를 들어, 레벨1에 대한 에셋을 "level1assets"라는 이름의 번들로 묶을 수 있습니다.

AssetBundle 설정

 

 

 

에셋 번들 빌드

using UnityEditor;

public class BuildAssetBundles
{
    [MenuItem("Assets/Build AssetBundles")]
    static void BuildAllAssetBundles()
    {
        string assetBundleDirectory = "Assets/AssetBundles";
        if (!System.IO.Directory.Exists(assetBundleDirectory))
        {
            System.IO.Directory.CreateDirectory(assetBundleDirectory);
        }
        BuildPipeline.BuildAssetBundles(assetBundleDirectory, 
            BuildAssetBundleOptions.None, 
            BuildTarget.Android);  // Android 타겟 빌드
    }
}

 

이 스크립트는 프로젝트 내에서 선택한 리소스에 대해 AssetBundle을 빌드하고 Assets/AssetBundles 폴더에 저장합니다.

스크립트를 이용하지 않고 에셋번들의 빌드기능을 이용할 수 있다.

 

 

에셋번들의 빌드기능으로 빌드하기

에셋번들창을 열고 빌드메뉴에서 경로지정 후 빌드버튼을 누르면 빌드가 된다.

에셋번들의 빌드기능으로 빌드하기
에셋번들의 빌드기능으로 빌드하기2

 

 

 

 

2. Play Asset Delivery에 AssetBundle 등록하기

에셋 번들을 만든 후, 이를 Play Asset Delivery로 관리할 수 있도록 설정해야 합니다. 에셋 번들 파일을 Play Asset Delivery에서 관리하도록 설정하면 AAB 파일로 함께 빌드되고, 특정 시점에 다운로드하도록 제어할 수 있습니다.

  • Separate Base APK Asset 체크 필수

Asset Pack 폴더 만들기

Add폴더를 눌러서 1번에서 만든 에셋번들 폴더를 선택해 주면 된다.

Play Asset Delivery에 AssetBundle 등록하기

Asset Pack 설정

변환한 Asset Pack에서 다운로드 방식을 설정합니다.

  • Install-Time: 앱 설치 시 즉시 다운로드.
  • Fast-Follow: 앱 설치 직후 다운로드.
  • On-Demand: 필요할 때 다운로드.

 

3. 빌드하기

Google > Build Android App Bundle 을 눌러서 빌드한다.

 

 

 

반응형