How to brows local folders and get images from it and display them in a unity application?

Hello,

So it been a while that i am searching for something usually easy to implement, which is the possibility to interact with the local drive, via a sort of browser, and get files to be uploaded to your project and display them or do whatever you want with them, nevertheless, with Unity it seem to be an impossible mission (according to my searches people are trying to get this work since long long time ago since before Unity3d v3), but yet it seems to be doable.

All i want to do is select images with different extensions (jpg,jpeg,png, …) and display them in a window in my application; Here is a code i found that allow me to brows my files and to replace a texture of a selected sprite into the image i am selecting with the “png” extension please help me with any improvement:

using UnityEngine;
using System.Collections;
using UnityEditor;
using System.IO;

public class ChangeTxtures : MonoBehaviour
{

	public Texture2D texture;
	public string path;
	void Awake ()
	{
		texture = GetComponentInChildren<UISprite> ().mainTexture as Texture2D;
		texture.GetRawTextureData ();
	}

	[MenuItem(@"Hierarchy/UI Root/Camera/imageToChange")]
	
	public void TextureChange ()
	{
		
				 = Selection.activeObject as Texture2D;
		if (texture == null) {
			EditorUtility.DisplayDialog (
				"Select Texture",
				"You Must Select a Texture first!",
				"Ok");
			return;
		}
		path = EditorUtility.OpenFilePanel (
			"Overwrite with png",
			"",
			"png");
		if (path.Length != 0) {
			WWW www = new WWW ("file:///" + path);
			www.LoadImageIntoTexture (texture);
		}
	}
}

The Unity application side of this is documented here:

http://docs.unity3d.com/ScriptReference/Texture2D.LoadImage.html

The displaying a window, and loading a chosen image into a byte array can be handled using non-Unity c# code. So maybe write a c# application that does this task. Once you have that working, add the script you’ve written into your Unity project. (Obviously you won’t need the basic application startup code.)