No description
Find a file
James Peret 33b8d7f5cd
Package UniTask v2.5.11 from https://github.com/Cysharp/UniTask
Source: src/UniTask/Assets/Plugins/UniTask/ from upstream master branch
License: MIT (Copyright (c) 2019 Yoshifumi Kawai / Cysharp, Inc.)
No modifications to upstream source code.
156 source files across Runtime/ and Editor/ folders.
Replaces at.kairoscope.thirdparty.unirx (deprecated).
2026-06-03 01:10:09 -03:00
Editor Package UniTask v2.5.11 from https://github.com/Cysharp/UniTask 2026-06-03 01:10:09 -03:00
Runtime Package UniTask v2.5.11 from https://github.com/Cysharp/UniTask 2026-06-03 01:10:09 -03:00
.gitignore Package UniTask v2.5.11 from https://github.com/Cysharp/UniTask 2026-06-03 01:10:09 -03:00
CHANGELOG.md Package UniTask v2.5.11 from https://github.com/Cysharp/UniTask 2026-06-03 01:10:09 -03:00
Editor.meta Package UniTask v2.5.11 from https://github.com/Cysharp/UniTask 2026-06-03 01:10:09 -03:00
LICENSE Package UniTask v2.5.11 from https://github.com/Cysharp/UniTask 2026-06-03 01:10:09 -03:00
package.json Package UniTask v2.5.11 from https://github.com/Cysharp/UniTask 2026-06-03 01:10:09 -03:00
README.md Package UniTask v2.5.11 from https://github.com/Cysharp/UniTask 2026-06-03 01:10:09 -03:00
Runtime.meta Package UniTask v2.5.11 from https://github.com/Cysharp/UniTask 2026-06-03 01:10:09 -03:00

UniTask (Kairoscope Package)

Version: 2.5.11 Source: Cysharp/UniTask License: MIT (Copyright (c) 2019 Yoshifumi Kawai / Cysharp, Inc.)

What is UniTask?

UniTask provides an efficient, zero-allocation async/await integration for Unity.

  • Struct-based UniTask<T> with custom AsyncMethodBuilder for zero allocation
  • All Unity AsyncOperations and Coroutines are awaitable
  • PlayerLoop-based tasks (UniTask.Yield, UniTask.Delay, UniTask.DelayFrame, etc.)
  • MonoBehaviour message events and uGUI events as awaitable/async-enumerable
  • Runs on Unity's PlayerLoop — no threads, works on WebGL/WASM
  • Asynchronous LINQ with Channel and AsyncReactiveProperty
  • TaskTracker window for leak detection
  • Works in runtime, editor, and unit tests

Why This Package Exists

This is a repackaged version of Cysharp's UniTask for use as a Kairoscope internal Unity UPM package. It replaces the deprecated UniRx library (at.kairoscope.thirdparty.unirx) across all KairoEngine packages.

Packages that depend on this

  • KairoEngine.Utilities — Timer.cs uses UniTask.Delay() for delayed callbacks
  • KairoEngine.UI — UI Toolkit package uses async initialization
  • KairoEngine.TerrainEngine — After refactor away from Core

Installation

Add to your Unity project's Packages/manifest.json:

{
    "dependencies": {
        "at.kairoscope.thirdparty.unitask": "https://forgejo.jamesperet.com/kairoengine/unitask.git"
    }
}

Or via Unity Package Manager → Add package from git URL:

https://forgejo.jamesperet.com/kairoengine/unitask.git

Namespace

All types live under Cysharp.Threading.Tasks:

using Cysharp.Threading.Tasks;

async UniTaskVoid DoSomething() {
    await UniTask.Delay(1000); // wait 1 second
    Debug.Log("Done!");
}

Source

Source code and .meta files are unmodified from the upstream release v2.5.11. The .meta files preserve canonical GUIDs — this ensures that any project migrating from com.cysharp.unitask to this package retains valid serialized references (scenes, prefabs, assembly definitions). No patches applied. When upgrading, replace Runtime/ and Editor/ folders (including .meta files) with the latest upstream release.

Upgrading

To update to a newer version of UniTask:

  1. Check the latest release at https://github.com/Cysharp/UniTask/releases
  2. Replace the Runtime/ and Editor/ folders (and their .meta files) with the new version
  3. Update the version field in package.json
  4. Commit and tag with the new version number