はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

【Unity】DoTweenでUniTaskを対応させてawaitできるようにする

はじめに

今回はDoTweenUniTaskを組み合わせる方法について紹介したいと思います。


// DoMoveXをCancellationToken付きでawaitする
await gameObject.transform.DOMoveX(10f, 1)
    .WithCancellation(token);

やり方

UniTask.DOTweenとアセンブリが分かれており、中身が#if UNITASK_DOTWEEN_SUPPORTのように書かれています。
github.com

よって以下の操作を行うことでDoTweenに関連する機能を利用できるようになります。

  • ProjectSettings/Player/OtherSettings/Script Compilation/Scripting Define SymbolsUNITASK_DOTWEEN_SUPPORTを追加する
  • Assembly Definitionを利用している場合は、UniTask.DoTweenAssembly Definition Referencesに追加する
DoTweenの機能を有効にする

またOpenUPMcom.demigiant.dotweenからDoTweenを入れた場合はUNITASK_DOTWEEN_SUPPORTを自身で定義しなくても良いとのことです。

一応仕組みを言っておくと、UniTask.DoTween.asmdefVersion Definesが以下のように設定されているからですね。

UniTask.DoTween.asmdef

参考

github.com