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

static function SaveFilePanelInProject (title : string, defaultName : string, extension : string, message : string) : string

Description

Displays the "save file" dialog in the Assets folder of the project and returns the selected path name.

See Also: SaveFilePanel function.

// Opens a file selection dialog for a PNG file and saves a selected texture to the file.
import System.IO;

@MenuItem("Assets/Save Texture to file")
static function Apply () {

var texture : Texture2D = Selection.activeObject as Texture2D;
if (texture == null)
{
EditorUtility.DisplayDialog("Select Texture",
"You Must Select a Texture first!", "Ok");
return;
}

var path = EditorUtility.SaveFilePanelInProject("Save texture as PNG",
texture.name + ".png", "png",
"Please enter a file name to save the texture to");
if (path.Length != 0)
{
// 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) {
File.WriteAllBytes(path, pngData);

// As we are saving to the asset folder, tell Unity to scan for modified or new assets
AssetDatabase.RefreshDelayed();
}
}
}