EditorUtility.SaveFolderPanel Manual     Reference     Scripting  
Scripting > Editor Classes > EditorUtility
EditorUtility.SaveFolderPanel

static function SaveFolderPanel (title : string, folder : string, defaultName : string) : string

Description

Displays the "save folder" dialog and returns the selected path name.

See Also: SaveFilePanel, OpenFilePanel functions.

// Opens a directory selection dialog for saving PNG files
// and saves all selected textures to the file.
import System.IO;
@MenuItem("Assets/Save Textures to directory")
static function Apply () {

var textures = Selection.GetFiltered( Texture2D, SelectionMode.Unfiltered);
if (textures.Length == 0)
{
EditorUtility.DisplayDialog("Select Textures",
"The selection must contain at least one texture!", "Ok");
return;
}

var path = EditorUtility.SaveFolderPanel("Save textures to drirectory", "", "");

if (path.Length != 0)
{
for( var texture : Texture2D in textures) {
var name = texture.name;
// Convert the texture to a format compatible with EncodeToPNG
if ( texture.format != TextureFormat.ARGB32 && texture.format != TextureFormat.RGB24 ) {
var newTexture = Texture2D(texture.width, texture.height);
newTexture.SetPixels(texture.GetPixels(0),0);
texture = newTexture;
}
var pngData = texture.EncodeToPNG();
if (pngData != null ) {
Debug.Log("Writing texture to "+path+"/"+ name + ".png");
File.WriteAllBytes(path+"/"+ name + ".png", pngData);
}
else {
Debug.Log("Could not convert " + texture.name + " to png. Skipping saving texture");
}
}
}
}