7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Addressables.LoadAssetAsync を aync/await でスッキリ書く

Last updated at Posted at 2020-05-15

こんにちは。Unity使い始めて1ヶ月ほどの初心者です。

外部リソースの読み込み事情が面倒すぎて心が折れそうですが
AAS(Addressable Assets System) を試しているところです。

今回はAASでのアセット読み込みを async/await でスッキリ書けたのでメモします。

Addressable Assets System でのアセット読み込み

AASではResources のように同期処理で読み込むメソッドが無く、
基本的には Addressables.LoadAssetAsyncで非同期に読み込むみたいです。

公式ドキュメントによると、以下のように読み込み完了時のイベントハンドラで目的のアセットを取得するよう書かれています。

Addressables.LoadAssetAsync<GameObject>("AssetAddress").Completed += OnLoadDone;

async/await を使って書いてみる

もっとスッキリ書けないかなーと模索していましたが、
.Task プロパティが用意されていて、async/await で書けます。


GameObject prefab = await Addressables.LoadAssetAsync<GameObject>("HogePrefab").Task

参考

[Addressable Assets Systemを完全に理解する]
(https://qiita.com/k7a/items/b4fd298bcb64dc968ad1)

7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?