# DisplayProgressBar(string, string, float)

> Displays or updates a progress bar.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor](/engine/6000.7/script-reference/unityeditor.md)
* **Assembly:** UnityEditor.CoreModule

```csharp
public static void DisplayProgressBar(string title, string info, float progress)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): **** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): **** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)):&#x20;

### Remarks

The window title will be set to `title` and the info will be set to `info`. Progress should be set to a value between 0.0 and 1.0, where 0 means nothing done and 1.0 means 100% completed.

This is useful when you perform a long blocking operation in an Editor script, and want to notify the user about the progress. Use this method for long operations that make the editor non-responsive. For long operations that happen in the background, use the [Progress](/engine/6000.7/script-reference/unityeditor/progress.md) class instead.

After you display the progress bar, clear it using [EditorUtility.ClearProgressBar](/engine/6000.7/script-reference/unityeditor/editorutility/clearprogressbar.md).

Additional Resources: [EditorUtility.DisplayCancelableProgressBar](/engine/6000.7/script-reference/unityeditor/editorutility/displaycancelableprogressbar.md), [EditorUtility.ClearProgressBar](/engine/6000.7/script-reference/unityeditor/editorutility/clearprogressbar.md) methods, [Progress](/engine/6000.7/script-reference/unityeditor/progress.md) class.

![EditorUtilityDisplayProgressBar (DisplayProgressBar(string, string, float))](/api/media?file=/engine/6000.7/media/images/EditorUtilityDisplayProgressBar.png)

*Progress bar in the Editor.*

### Examples

```csharp
using System.Threading;
using UnityEditor;
using UnityEngine;

// Shows a progress bar for the specified number of seconds.
public class EditorUtilityDisplayProgressBar : EditorWindow
{
    public float secs = 5f;
    [MenuItem("Examples/Progress Bar Usage")]
    static void Init()
    {
        var window = GetWindow(typeof(EditorUtilityDisplayProgressBar));
        window.Show();
    }

    void OnGUI()
    {
        secs = EditorGUILayout.Slider("Time to wait:", secs, 1.0f, 20.0f);
        if (GUILayout.Button("Display bar"))
        {
            var step = 0.1f;
            for (float t = 0; t < secs; t += step)
            {
                EditorUtility.DisplayProgressBar("Simple Progress Bar", "Doing some work...", t / secs);
                // Normally, some computation happens here.
                // This example uses Sleep.
                Thread.Sleep((int)(step * 1000.0f));
            }
            EditorUtility.ClearProgressBar();
        }
    }
}
```
