diff --git a/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.Factory.cs b/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.Factory.cs
index 2f6a6a9..bd3bded 100644
--- a/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.Factory.cs
+++ b/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.Factory.cs
@@ -157,6 +157,28 @@ namespace Cysharp.Threading.Tasks
return () => asyncAction(cancellationToken).Forget();
}
+#endif
+
+#if UNITASK_DOTWEEN_SUPPORT
+
+ ///
+ /// Create async void(UniTaskVoid) TweenCallback.
+ /// For example: tween.OnComplete(UniTask.TweenCallback(async () => { /* */ } ))
+ ///
+ public static DG.Tweening.TweenCallback TweenCallback(Func asyncAction)
+ {
+ return () => asyncAction().Forget();
+ }
+
+ ///
+ /// Create async void(UniTaskVoid) TweenCallback.
+ /// For example: tween.OnComplete(UniTask.TweenCallback(FooAsync, this.GetCancellationTokenOnDestroy()))
+ ///
+ public static DG.Tweening.TweenCallback TweenCallback(Func asyncAction, CancellationToken cancellationToken)
+ {
+ return () => asyncAction(cancellationToken).Forget();
+ }
+
#endif
///