facebook twitter hatena line email

「Unity/UniTask」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(サンプル)
行10: 行10:
  
 
==サンプル==
 
==サンプル==
 +
<pre>
 +
using System.Collections;
 +
using System.Collections.Generic;
 +
using UnityEngine;
 +
using System.Threading.Tasks; // Taskサンプル用
 +
// using UniRx.Async; // UniTask ver1
 +
using Cysharp.Threading.Tasks; // UniTask ver2
 +
public class SampleScene : MonoBehaviour
 +
{
 +
    void Start()
 +
    {
 +
        Exec();
 +
    }
 +
    async void Exec()
 +
    {
 +
        var result2 = await ExecUniTask();
 +
        Debug.Log("Exec " + result2); // Exec Hello!!
 +
    }
 +
    async UniTask<string> ExecUniTask()
 +
    {
 +
        return await Task.Run(() => "Hello!!");
 +
    }
 +
}
 +
</pre>
  
 
==参考==
 
==参考==

2021年7月13日 (火) 12:55時点における版

ダウンロード

https://github.com/Cysharp/UniTask/releases

Taskとの比較

UniTaskは、Taskより軽く、SynchronizationContextへの依存がない。

Taskサンプルはこちら

[Unity/Csharp/別スレッド] [ショートカット]

サンプル

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Threading.Tasks; // Taskサンプル用
// using UniRx.Async; // UniTask ver1
using Cysharp.Threading.Tasks; // UniTask ver2
public class SampleScene : MonoBehaviour
{
    void Start()
    {
        Exec();
    }
    async void Exec()
    {
        var result2 = await ExecUniTask();
        Debug.Log("Exec " + result2); // Exec Hello!!
    }
    async UniTask<string> ExecUniTask()
    {
        return await Task.Run(() => "Hello!!");
    }
}

参考

UniTask使い方 https://qiita.com/toRisouP/items/4445b6b9bf00e49eb147

UniTask ver2 https://qiita.com/toRisouP/items/8f66fd952eaffeaf3107