diff --git a/src/UniTask.NetCore/UniTask.NetCore.csproj b/src/UniTask.NetCore/UniTask.NetCore.csproj
index 94d3a92..b794135 100644
--- a/src/UniTask.NetCore/UniTask.NetCore.csproj
+++ b/src/UniTask.NetCore/UniTask.NetCore.csproj
@@ -1,42 +1,43 @@
-
- net6.0;net7.0;netstandard2.1;netstandard2.0
- UniTask
- 8.0
- Cysharp.Threading.Tasks
- true
- $(NoWarn);CS1591
+
+ net6.0;net7.0;netstandard2.1;netstandard2.0
+ UniTask
+ 8.0
+ Cysharp.Threading.Tasks
+ UNITASK_NETCORE
+ true
+ $(NoWarn);CS1591
-
- UniTask
- $(Version)
- Cysharp
- Cysharp
- © Cysharp, Inc.
- task;async
- Provides an efficient async/await integration to Unity and .NET Core.
- https://github.com/Cysharp/UniTask
- $(PackageProjectUrl)
- git
- MIT
- Icon.png
- true
- opensource.snk
- true
-
+
+ UniTask
+ $(Version)
+ Cysharp
+ Cysharp
+ © Cysharp, Inc.
+ task;async
+ Provides an efficient async/await integration to Unity and .NET Core.
+ https://github.com/Cysharp/UniTask
+ $(PackageProjectUrl)
+ git
+ MIT
+ Icon.png
+ true
+ opensource.snk
+ true
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
diff --git a/src/UniTask.NetCoreTests/Linq/Merge.cs b/src/UniTask.NetCoreTests/Linq/Merge.cs
index 7021d1d..35cb99b 100644
--- a/src/UniTask.NetCoreTests/Linq/Merge.cs
+++ b/src/UniTask.NetCoreTests/Linq/Merge.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CS1998
+
using System;
using System.Threading;
using System.Threading.Tasks;
diff --git a/src/UniTask.NetCoreTests/TaskExtensionsTest.cs b/src/UniTask.NetCoreTests/TaskExtensionsTest.cs
index 6097bc1..1af8222 100644
--- a/src/UniTask.NetCoreTests/TaskExtensionsTest.cs
+++ b/src/UniTask.NetCoreTests/TaskExtensionsTest.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CS1998
+
using System;
using System.Threading.Tasks;
using Cysharp.Threading.Tasks;
diff --git a/src/UniTask/Assets/Plugins/UniTask/Runtime/IUniTaskSource.cs b/src/UniTask/Assets/Plugins/UniTask/Runtime/IUniTaskSource.cs
index c8177b4..ad758f1 100644
--- a/src/UniTask/Assets/Plugins/UniTask/Runtime/IUniTaskSource.cs
+++ b/src/UniTask/Assets/Plugins/UniTask/Runtime/IUniTaskSource.cs
@@ -1,4 +1,9 @@
#pragma warning disable CS1591
+#pragma warning disable CS0108
+
+#if (UNITASK_NETCORE && !NETSTANDARD2_0) || UNITY_2022_3_OR_NEWER
+#define SUPPORT_VALUETASK
+#endif
using System;
using System.Runtime.CompilerServices;
@@ -19,9 +24,8 @@ namespace Cysharp.Threading.Tasks
// similar as IValueTaskSource
public interface IUniTaskSource
-#if (!UNITY_2018_3_OR_NEWER || UNITY_2022_3_OR_NEWER) && !NETSTANDARD2_0
+#if SUPPORT_VALUETASK
: System.Threading.Tasks.Sources.IValueTaskSource
-#pragma warning disable CS0108
#endif
{
UniTaskStatus GetStatus(short token);
@@ -30,8 +34,7 @@ namespace Cysharp.Threading.Tasks
UniTaskStatus UnsafeGetStatus(); // only for debug use.
-#if (!UNITY_2018_3_OR_NEWER || UNITY_2022_3_OR_NEWER) && !NETSTANDARD2_0
-#pragma warning restore CS0108
+#if SUPPORT_VALUETASK
System.Threading.Tasks.Sources.ValueTaskSourceStatus System.Threading.Tasks.Sources.IValueTaskSource.GetStatus(short token)
{
@@ -53,13 +56,13 @@ namespace Cysharp.Threading.Tasks
}
public interface IUniTaskSource : IUniTaskSource
-#if (!UNITY_2018_3_OR_NEWER || UNITY_2022_3_OR_NEWER) && !NETSTANDARD2_0
+#if SUPPORT_VALUETASK
, System.Threading.Tasks.Sources.IValueTaskSource
#endif
{
new T GetResult(short token);
-#if (!UNITY_2018_3_OR_NEWER || UNITY_2022_3_OR_NEWER) && !NETSTANDARD2_0
+#if SUPPORT_VALUETASK
new public UniTaskStatus GetStatus(short token)
{
diff --git a/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.AsValueTask.cs b/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.AsValueTask.cs
index 70b3a44..ab1e913 100644
--- a/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.AsValueTask.cs
+++ b/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.AsValueTask.cs
@@ -1,5 +1,10 @@
-#if !UNITY_2018_3_OR_NEWER || UNITY_2022_3_OR_NEWER
-#pragma warning disable 0649
+#pragma warning disable 0649
+
+#if UNITASK_NETCORE || UNITY_2022_3_OR_NEWER
+#define SUPPORT_VALUETASK
+#endif
+
+#if SUPPORT_VALUETASK
using System;
using System.Threading.Tasks;
@@ -11,7 +16,7 @@ namespace Cysharp.Threading.Tasks
{
public static ValueTask AsValueTask(this in UniTask task)
{
-#if NETSTANDARD2_0
+#if (UNITASK_NETCORE && NETSTANDARD2_0)
return new ValueTask(new UniTaskValueTaskSource(task), 0);
#else
return task;
@@ -20,7 +25,7 @@ namespace Cysharp.Threading.Tasks
public static ValueTask AsValueTask(this in UniTask task)
{
-#if NETSTANDARD2_0
+#if (UNITASK_NETCORE && NETSTANDARD2_0)
return new ValueTask(new UniTaskValueTaskSource(task), 0);
#else
return task;
@@ -37,7 +42,7 @@ namespace Cysharp.Threading.Tasks
await task;
}
-#if NETSTANDARD2_0
+#if (UNITASK_NETCORE && NETSTANDARD2_0)
class UniTaskValueTaskSource : IValueTaskSource
{
diff --git a/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.cs b/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.cs
index 9de15d3..56a8d1f 100644
--- a/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.cs
+++ b/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.cs
@@ -1,6 +1,10 @@
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
#pragma warning disable CS0436
+#if UNITASK_NETCORE || UNITY_2022_3_OR_NEWER
+#define SUPPORT_VALUETASK
+#endif
+
using Cysharp.Threading.Tasks.CompilerServices;
using System;
using System.Diagnostics;
@@ -69,7 +73,7 @@ namespace Cysharp.Threading.Tasks
return new UniTask(new IsCanceledSource(source), token);
}
-#if !UNITY_2018_3_OR_NEWER || UNITY_2022_3_OR_NEWER
+#if SUPPORT_VALUETASK
public static implicit operator System.Threading.Tasks.ValueTask(in UniTask self)
{
@@ -78,7 +82,7 @@ namespace Cysharp.Threading.Tasks
return default;
}
-#if NETSTANDARD2_0
+#if (UNITASK_NETCORE && NETSTANDARD2_0)
return self.AsValueTask();
#else
return new System.Threading.Tasks.ValueTask(self.source, self.token);
@@ -118,7 +122,7 @@ namespace Cysharp.Threading.Tasks
this.source.GetResult(this.token);
return CompletedTasks.AsyncUnit;
}
- else if(this.source is IUniTaskSource asyncUnitSource)
+ else if (this.source is IUniTaskSource asyncUnitSource)
{
return new UniTask(asyncUnitSource, this.token);
}
@@ -440,7 +444,7 @@ namespace Cysharp.Threading.Tasks
return self.AsUniTask();
}
-#if !UNITY_2018_3_OR_NEWER || UNITY_2022_3_OR_NEWER
+#if SUPPORT_VALUETASK
public static implicit operator System.Threading.Tasks.ValueTask(in UniTask self)
{
@@ -449,7 +453,7 @@ namespace Cysharp.Threading.Tasks
return new System.Threading.Tasks.ValueTask(self.result);
}
-#if NETSTANDARD2_0
+#if (UNITASK_NETCORE && NETSTANDARD2_0)
return self.AsValueTask();
#else
return new System.Threading.Tasks.ValueTask(self.source, self.token);