Legacy Documentation: Version 4.5.0

Script language:

  • JS
  • C#
  • Boo
Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

EditorUtility.DisplayProgressBar

static function DisplayProgressBar(title: string, info: string, progress: float): void;
static void DisplayProgressBar(string title, string info, float progress);
static def DisplayProgressBar(title as string, info as string, progress as float) as void

Description

Displays or updates a progress bar.

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 if you perform any lengthy operations in your editor scripts or wizards, and want to notify the user about the progress.

See Also: DisplayCancelableProgressBar, ClearProgressBar functions.


Progress bar in the editor.

	// Simple Editor Script that fills a bar in the given seconds.

class EditorUtilityDisplayProgressBar extends EditorWindow { var secs = 10.0; var startVal = 0; var progress = 0;

@MenuItem("Examples/Progress Bar Usage") static function Init() { var window = GetWindow(EditorUtilityDisplayProgressBar); window.Show(); }

function OnGUI() { secs = EditorGUILayout.IntField("Time to wait:", secs); if(GUILayout.Button("Display bar")) { if(secs < 1) { Debug.LogError("Seconds should be bigger than 1"); return; } startVal = EditorApplication.timeSinceStartup; }

if(progress < secs) EditorUtility.DisplayProgressBar( "Simple Progress Bar", "Shows a progress bar for the given seconds", progress/secs); else EditorUtility.ClearProgressBar();

progress = EditorApplication.timeSinceStartup - startVal; }

function OnInspectorUpdate() { Repaint(); } }