Displays the "save file" dialog and returns the selected path name.
See Also: OpenFilePanel function.
Save File Panel.
using UnityEngine; using UnityEditor; using System.IO;
public class SaveFilePanelExample : EditorWindow { [MenuItem( "Example/Save Texture" )] static void Apply( ) { Texture2D texture = Selection.activeObject as Texture2D; if( texture == null ) { EditorUtility.DisplayDialog( "Select Texture", "You must select a texture first!", "OK" ); return; }
string path = EditorUtility.SaveFilePanel( "Save png", "", texture.name + ".png", "png" ); if( path.Length != 0 ) { // Convert the texture to a format compatible with EncodeToPNG if( texture.format != TextureFormat.ARGB32 && texture.format != TextureFormat.RGB24 ) { Texture2D newTexture = new Texture2D( texture.width, texture.height ); newTexture.SetPixels( texture.GetPixels( 0 ), 0 ); texture = newTexture; }
byte[] pngData = texture.EncodeToPNG( ); if( pngData != null ) File.WriteAllBytes( path, pngData ); } }
}