Skip to content
A native file browser for unity standalone platforms
C# Objective-C++ C CMake
Branch: master
Clone or download

Latest commit

Latest commit 04a5d49 Nov 6, 2018

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Assets Fixes #45 Nov 4, 2018
Images Linux image added Oct 4, 2018
Package Fixes #45 Nov 4, 2018
Packages Project updated to 2018.2.9f1 Oct 3, 2018
Plugins Fixes #45 Nov 4, 2018
ProjectSettings Minor fixes and changes Oct 3, 2018
.gitattributes Initial commit Jan 8, 2017
.gitignore Initial commit Jan 8, 2017
LICENSE.txt Create LICENSE.txt Mar 27, 2017
README.md Update README.md Nov 6, 2018

README.md

Unity Standalone File Browser

A simple wrapper for native file dialogs on Windows/Mac/Linux.

  • Works in editor and runtime.
  • Open file/folder, save file dialogs supported.
  • Multiple file selection.
  • File extension filter.
  • Mono/IL2CPP backends supported.
  • Linux support by Ricardo Rodrigues.
  • Basic WebGL support.

Download Package

Example usage:

// Open file
var paths = StandaloneFileBrowser.OpenFilePanel("Open File", "", "", false);

// Open file async
StandaloneFileBrowser.OpenFilePanelAsync("Open File", "", "", false, (string[] paths) => {  });

// Open file with filter
var extensions = new [] {
    new ExtensionFilter("Image Files", "png", "jpg", "jpeg" ),
    new ExtensionFilter("Sound Files", "mp3", "wav" ),
    new ExtensionFilter("All Files", "*" ),
};
var paths = StandaloneFileBrowser.OpenFilePanel("Open File", "", extensions, true);

// Save file
var path = StandaloneFileBrowser.SaveFilePanel("Save File", "", "", "");

// Save file async
StandaloneFileBrowser.SaveFilePanelAsync("Save File", "", "", "", (string path) => {  });

// Save file with filter
var extensionList = new [] {
    new ExtensionFilter("Binary", "bin"),
    new ExtensionFilter("Text", "txt"),
};
var path = StandaloneFileBrowser.SaveFilePanel("Save File", "", "MySaveFile", extensionList);

See Sample/BasicSampleScene.unity for more detailed examples.

Mac Screenshot Alt text

Windows Screenshot Alt text

Linux Screenshot Alt text

Notes:

  • Windows

    • Requires .NET 2.0 api compatibility level
    • Async dialog opening not implemented, ..Async methods simply calls regular sync methods.
    • Plugin import settings should be like this;

    Alt text Alt text

  • Mac

    • Sync calls are throws an exception at development build after native panel loses and gains focus. Use async calls to avoid this.

WebGL:

  • Basic upload/download file support.
  • File filter support.
  • Not well tested, probably not much reliable.
  • Since browsers require more work to do file operations, webgl isn't directly implemented to Open/Save calls. You can check CanvasSampleScene.unity and canvas sample scripts for example usages.

Live Demo: https://gkngkc.github.io/

You can’t perform that action at this time.