어드레서블(Addressables)
어드레 서블(Addressables)은 예전의 에셋번들(AssetBundle)을 대체하는 에셋 관리 시스템으로 리소스들의 주소(위치)를 지정해서 고유하게 로드 및 방식을 분리가 가능하다.
추가로 런타임 메모리 관리도 좀 더 편리하게 된다고 한다.
[Window]-[Assets Management]-[Addressables] 메뉴를 선택하면 어드레서블 메뉴가 노출된다.
어드레서블을 체크하고 이름(ball)을 지정이 가능하다.
어드레서블 지원은 Unity 2018 LTS~ 이상부터 지원을 한다고 한다.
어드레서블을 로드해서 처리되는 코드는 대략 다음과 같다.
void OnButtonClick()
{
if(string.IsNullOrEmpty(addressToAdd))
Debug.LogError("Address To Add not set.");
else
{
if (m_ReadyToLoad)
Addressables.LoadSceneAsync(addressToAdd, LoadSceneMode.Additive).Completed += OnSceneLoaded;
else
{
Addressables.UnloadSceneAsync(m_LoadedScene).Completed += OnSceneUnloaded;
}
}
}
void OnSceneUnloaded(AsyncOperationHandle<SceneInstance> obj)
{
if (obj.Status == AsyncOperationStatus.Succeeded)
{
textArea.text = "Reload " + addressToAdd;
m_ReadyToLoad = true;
m_LoadedScene = new SceneInstance();
}
else
{
Debug.LogError("Failed to unload scene at address: " + addressToAdd);
}
}
void OnSceneLoaded(AsyncOperationHandle<SceneInstance> obj)
{
if (obj.Status == AsyncOperationStatus.Succeeded)
{
textArea.text = "Unload " + addressToAdd;
m_LoadedScene = obj.Result;
m_ReadyToLoad = false;
}
else
{
Debug.LogError("Failed to load scene at address: " + addressToAdd);
}
}
Unity Blog : [링크]
Addressable Asset System어드레서블 에셋 시스템Addressable アセットシステム - Unity Technologies Blog
어드레서블(Addressables)은 복잡한 라이브 콘텐츠를 전달해야 하는 대규모 제작팀의 요구사항을 보다 효과적으로 지원하기 위한 Unity 에디터 및 런타임 에셋 관리 시스템입니다. 이번 릴리스를 통
blogs.unity3d.com
Unity Korea Blog : [ 링크 ]
[유니티 소식] 어드레서블 에셋 시스템으로 메모리 최적화하기
Unity Addressable Asset system 어드레서블 에셋 시스템으로 메모리 최적화하기 고품질 게임은 메모리 ...
blog.naver.com
Addressable Asset Doc : [링크]
Getting started with Addressable Assets | Package Manager UI website
Getting started with Addressable Assets Installing the Addressable Assets package Important: The Addressable Asset System requires Unity version 2018.3 or later. To install this package, follow the instructions in the Package Manager documentation. Prepari
docs.unity3d.com
★☆☆☆☆
'개발 > Unity' 카테고리의 다른 글
Unity) URP(Universal Render Pipeline) 셰이더 사용하는 방법 (3) | 2021.04.30 |
---|---|
Unity)점진적 가비지 컬렉션 (User Incremental GC) (0) | 2021.04.26 |
Unity)해결)VisualStudio)CS0246 형식 또는 네임스페이스 이름을 찾을 수 없습니다. using 지시문 또는 어셈블리 참조가 있는지 확인하세요. (0) | 2021.04.12 |
Unity) InGame Debug Console Plugin 적용 (0) | 2021.04.10 |
Unity) Android Permission 안드로이드 권한 설정 (0) | 2021.04.07 |
댓글