The Progress utility class reports the progress of asynchronous tasks to Unity.
public IEnumerator Run_OneTask()
{
    // Create a new progress indicator
    int progressId = Progress.Start("Running one task", 0);
    // Report the progress status at anytime
    for (int frame = 0; frame <= 1000; ++frame)
    {
        Progress.Report(progressId, "any progress update or null if it hasn't changed", frame / 1000.0f);
        // Do something else
        yield return null;
    }
    // The task is finished. Remove the associated progress indicator.
    Progress.Remove(progressId);
}
      | globalProgress | Returns the global average progression of all running tasks. | 
| globalRemainingTime | Returns the maximum time remaining for all running progress indicators. | 
| running | Returns true if there is at least one running progress indicator, false otherwise. | 
| Cancel | Cancels a runnning progress indicator, and invokes the cancel callback for the associated task. | 
| ClearRemainingTime | Resets the computation of a progress indicator's remaining time. | 
| EnumerateItems | Returns an enumerator to loop over all progress indicators. | 
| Exists | Checks whether a progress indicator with the specified ID exists. | 
| Finish | Marks the progress indicator as finished. | 
| GetCount | Gets the number of available progress indicators. | 
| GetCountPerStatus | For each available status, gets the number of progress indicators with that status. | 
| GetDescription | Gets a progress indicator's description. | 
| GetId | Finds a progress indicator's unique ID using its index in the set of all available progress indicators. | 
| GetName | Gets a progress indicator's name. | 
| GetOptions | Gets the options that you specified when you started the progress indicator. | 
| GetParentId | Gets the unique ID of the progress indicator's parent, if any. | 
| GetProgress | Gets a progress indicator's progress. | 
| GetProgressById | Gets information about a progress indicator. | 
| GetRemainingTime | Gets a progress indicator's remaining time, in seconds. | 
| GetRunningProgressCount | Gets the number of active or running progress indicators. | 
| GetStartDateTime | Gets the timestamp of when the progress indicator started. | 
| GetStatus | Gets the progress indicator's status. | 
| GetTimeDisplayMode | Get a progress indicator's time display mode. | 
| GetUpdateDateTime | Gets the time that the progress indicator last changed, or finished. | 
| IsCancellable | Indicates whether you can cancel the progress indicator's associated task. | 
| RegisterCancelCallback | Registers a callback that is called when the user cancels a running progress indicator's associated task. | 
| Remove | Finishes and removes an active progress indicator. | 
| Report | Reports a running progress indicator's current status. | 
| SetDescription | Sets the progress indicator's description. To clear the description pass null. | 
| SetRemainingTime | Sets the progress indicator's remaining time, in seconds. | 
| SetTimeDisplayMode | Set a progress indicator's time display mode. | 
| ShowDetails | Opens the progress window for background tasks. | 
| Start | This method starts a new progress indicator. | 
| UnregisterCancelCallback | Unregisters a previously registered progress cancellation callback. |