Unity

Unity Addressable Asset (2)

CCS_Cheese 2024. 12. 27. 15:24

오늘 시간에는 Addressable Asset의 옵션에 대해 알아보겠습니다.

 

먼저 앞선 글에서 Unity Addressable Asset은 무엇인지에 대해 알아보았고, 오늘은 각종 옵션과, Local 기준으로 Asset을 로드하는 것을 해보겠습니다.

 

Addressable Asset Group

Addressable Asset의 그룹핑을 지정하는 곳으로, 사용자가 사용 방법에 맞게 그룹핑하여, 같이 로드될 Asset Bundle을 지정하는 방식입니다. 

 

여기서 Window -> Asset Management -> Addressable -> Group을 들어가게 되면 현재 그룹핑되어있는 Asset들을 확인할 수 있습니다.

Asset Group (PlayMode)

여기서 Play Mode Script 방식을 지정하게 되면 위 두 가지의 옵션이 나타나게 됩니다.

  • Use Asset DataBase (fastest) : 이 옵션은 Addressable Asset을 로드할 때 Local DataBase를 사용하는 것으로 Editor 상에서 Address만 지정해 두었다면, 정상적으로 로드가 됩니다.
  • Use Existing Build : 실제 빌드환경에서 Load 할 AssetBundle을 기반으로 실 Runtime 환경과 동일하게 테스트가 가능합니다. Address를 지정한 뒤 Addressable Asset을 빌드를 진행하여 실제 Platform에 맞는 Asset bundle을 생성한 뒤 해당 Asset을 로드해서 사용합니다.

앞 선 글에서 Addressable Profile을 설정하는 화면을 기억해 보면,  Remote Build Path, Remote Load Path를 기억할 수 있다.

 

위 옵션에 대입해 보면, Use Asset Data Base(별도의 Load Path 없이 현재 Database)에서 로드

Use Existing Build(Platform 별로 설정한 별도의 Load Path)에서 오브젝트나 Prefab을 로드하는 것을 볼 수 있다.

실제 Addressable Build를 진행 시 Library/com.unity.addressables.aa.Platform/ .bundle

위와 같은 형태로 Asset bundle이 생성되는 것을 볼 수 있다.

이 에셋 번들이 생성된 이후에는 Use Existing Build로 Play 하여도 정상적으로 Prefab 이 생성된다.

 

Local remote Load 시

Local Remote에서 Prefab을 로드하였을 때 포함한 Script 또한 같이 Load 되는 것을 볼 수 있다. 위와 같은 Addressable Asset Bundle을 Cloud 서버에 업로드 한 뒤 서버로부터 내려받을 수있다면, 실제 Build 파일의 용량이나, 최초 Asset Load 하는데 걸리는 시간을 줄일 수있다.

 

해당 스크립트에 추가적으로 찍어본 Console로그가 정상적으로 출력되는 것을 확인할 수있었다.

다음 시간에는 정말로 해당 AssetBundle을 Remote 서버에서 Build 하고, Build 된 AssetBundle을 서버로부터 받아와 Runtime에 생성하는 것을 한번 확인해보고자 한다. 

'Unity' 카테고리의 다른 글

Unity Addressable Asset (4)  (2) 2025.01.02
Unity Addressable Asset (3)  (4) 2024.12.29
Unity Addressable Asset (1)  (3) 2024.12.15
Unity Lighting (2)  (6) 2024.12.03
Unity Lighting  (2) 2024.11.28