diff --git a/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTaskWithToken.cs b/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTaskWithToken.cs
index 0f5914a..696771a 100644
--- a/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTaskWithToken.cs
+++ b/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTaskWithToken.cs
@@ -1,6 +1,18 @@
using System;
+using System.Collections;
using System.Collections.Generic;
using System.Threading;
+using UnityEngine;
+using UnityEngine.Rendering;
+#if ENABLE_UNITYWEBREQUEST && (!UNITY_2019_1_OR_NEWER || UNITASK_WEBREQUEST_SUPPORT)
+using UnityEngine.Networking;
+#endif
+#if UNITASK_ADDRESSABLE_SUPPORT
+using UnityEngine.ResourceManagement.AsyncOperations;
+#endif
+#if UNITASK_DOTWEEN_SUPPORT
+using DG.Tweening;
+#endif
namespace Cysharp.Threading.Tasks
{
@@ -12,10 +24,13 @@ namespace Cysharp.Threading.Tasks
#region UniTask.Delay
public UniTask Yield(PlayerLoopTiming timing = PlayerLoopTiming.Update)
=> UniTask.Yield(timing, cancellationToken);
+ /// Similar as UniTask.Yield but guaranteed run on next frame.
public UniTask NextFrame(PlayerLoopTiming timing = PlayerLoopTiming.Update)
=> UniTask.NextFrame(timing, cancellationToken);
+ /// Same as UniTask.Yield(PlayerLoopTiming.LastPostLateUpdate, cancellationToken).
public UniTask WaitForEndOfFrame()
=> UniTask.WaitForEndOfFrame(cancellationToken);
+ /// Same as UniTask.Yield(PlayerLoopTiming.FixedUpdate, cancellationToken).
public UniTask WaitForFixedUpdate()
=> UniTask.WaitForFixedUpdate(cancellationToken);
public UniTask DelayFrame(int delayFrameCount, PlayerLoopTiming delayTiming = PlayerLoopTiming.Update)
@@ -34,45 +49,62 @@ namespace Cysharp.Threading.Tasks
=> UniTask.FromCanceled(cancellationToken);
public UniTask FromCanceled()
=> UniTask.FromCanceled(cancellationToken);
+ /// helper of fire and forget void action.
public void Void(Func asyncAction)
=> UniTask.Void(asyncAction, cancellationToken);
+ /// helper of create add UniTaskVoid to delegate.
public Action Action(Func asyncAction)
=> UniTask.Action(asyncAction, cancellationToken);
#if UNITY_2018_3_OR_NEWER
+ /// Create async void(UniTaskVoid) UnityAction.
public UnityEngine.Events.UnityAction UnityAction(Func asyncAction)
=> UniTask.UnityAction(asyncAction, cancellationToken);
#endif
+ /// Never complete.
public UniTask Never()
=> UniTask.Never(cancellationToken);
+ /// Never complete.
public UniTask Never()
=> UniTask.Never(cancellationToken);
#endregion
#region UniTask.Run
+ /// Run action on the threadPool and return to main thread if configureAwait = true.
public async UniTask RunOnThreadPool(Action action, bool configureAwait = true)
=> await UniTask.RunOnThreadPool(action, configureAwait, cancellationToken);
+ /// Run action on the threadPool and return to main thread if configureAwait = true.
public async UniTask RunOnThreadPool(Action