본문 바로가기
개발/Unity

Unity)어드레서블(Addressables)

by 테샤르 2021. 4. 15.

어드레서블(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

 

 

★☆

 

반응형

댓글