Awesome Open Source
Awesome Open Source

Gameframe.Async 👋

Build Status Codacy Badge GitHub release (latest by date including pre-releases) openupm license


Async task utility package for Unity
Helper methods for starting tasks on the Unity thread.
Start and await coroutines from any thread.

Quick Package Install

Using UnityPackageManager (for Unity 2019.3 or later)

Open the package manager window (menu: Window > Package Manager)
Select "Add package from git URL...", fill in the pop-up with the following link:

Using UnityPackageManager (for Unity 2019.1 or later)

Find the manifest.json file in the Packages folder of your project and edit it to look like this:

  "dependencies": {
    "com.gameframe.async": "",

Using OpenUPM

The package is available on the openupm registry. It's recommended to install it via openupm-cli.

openupm add com.gameframe.async

Quick Start

Start and Await a coroutine from anywhere

//Start a coroutine from anywhere without a monobehaviour
//Your coroutine will run on the main thread
var task = CoroutineRunner.RunAsync(MyCoroutine());
//You can await the returned task which will complete when the coroutine is done
await task;

Start a Task on the main unity thread from anywhere

//This will execute MyMethod on the main Unity thread
var task = UnityTaskUtil.RunOnUnityThreadAsync(MyMethod);
//A task is returned that you can await
await task;

Switch between Main thread and Background thread in any task

// Currently on main thread
await Awaiters.BackgroundThread;
//You should now be on a background thread

//Await one frame
await Awaiters.NextFrame;

//Currently on a background thread
await Awaiters.MainUnityThread;
//Task is now running on the Unity main thread


👤 Cory Leach

Show your support

Give a ⭐️ if this project helped you!

This README was generated with ❤️ by Gameframe.Packages

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
c-sharp (11,730
unity (862
unity3d (566
async (463
package (263
package-manager (178
coroutine (69
unity3d-plugin (59
tasks (46
unity-scripts (32

Find Open Source By Browsing 7,000 Topics Across 59 Categories