AssetReference 로드
AssetReference
클래스는 자체 로드 메서드인 LoadAssetAsync
를 갖습니다.
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncOperations;
internal class LoadFromReference : MonoBehaviour
{
// Assign in Editor
public AssetReference reference;
// Start the load operation on start
void Start()
{
AsyncOperationHandle handle = reference.LoadAssetAsync<GameObject>();
handle.Completed += Handle_Completed;
}
// Instantiate the loaded prefab on complete
private void Handle_Completed(AsyncOperationHandle obj)
{
if (obj.Status == AsyncOperationStatus.Succeeded)
{
Instantiate(reference.Asset, transform);
}
else
{
Debug.LogError("AssetReference failed to load.");
}
}
// Release asset when parent object is destroyed
private void OnDestroy()
{
reference.ReleaseAsset();
}
}
또한 AssetReference
오브젝트를 Addressables.LoadAssetAsync
메서드에 대한 키로 사용할 수 있습니다. AssetReference에 할당된 에셋의 여러 인스턴스를 생성해야 하는 경우, 각 인스턴스 해제에 사용할 수 있는 작업 핸들을 제공하는 Addressables.LoadAssetAsync
를 사용하십시오.