Legacy Documentation: Version 5.1
LanguageEnglish
  • C#
  • JS

Script language

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

EditorUtility.DisplayProgressBar

Switch to Manual
public static function DisplayProgressBar(title: string, info: string, progress: float): void;

Parameters

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.

#pragma strict
// Simple Editor Script that fills a bar in the given seconds.
public class EditorUtilityDisplayProgressBar extends EditorWindow {
	public var secs: float = 10f;
	public var startVal: float = 0f;
	public var progress: float = 0f;
	@MenuItem("Examples/Progress Bar Usage")
	static function Init() {
		var window: UnityEditor.EditorWindow = GetWindow(EditorUtilityDisplayProgressBar);
		window.Show();
	}
	function OnGUI() {
		secs = EditorGUILayout.FloatField("Time to wait:", secs);
		if (GUILayout.Button("Display bar")) {
			if (secs < 1) {
				Debug.LogError("Seconds should be bigger than 1");
				return ;
			}
			startVal = floatEditorApplication.timeSinceStartup;
		}
		if (progress < secs)
			EditorUtility.DisplayProgressBar("Simple Progress Bar", "Shows a progress bar for the given seconds", progress / secs);
		else
			EditorUtility.ClearProgressBar();
		progress = float(EditorApplication.timeSinceStartup - startVal);
	}
	function OnInspectorUpdate() {
		Repaint();
	}
}