как вызвать окно для выбора внешнего файла в unity c#?

Всем привет! Пытаюсь сделать так, чтобы при нажатии на кнопку открывалось окно, в котором мы выбираем путь к json файлу. После этот путь мне нужно сохранить. Никак не могу понять, с помощью чего именно это можно сделать, может ли кто-то подсказать решение? До этого делал с помощью UnityEditor, но после столкнулся с проблемой, что он не работает в приложении.


Ответы (1 шт):

Автор решения: Yaroslav
using UnityEditor;

public string GetJsonPath ()
{
    string path = EditorUtility.OpenFilePanel("Choise Json", "Assets/", "json");
    if (string.IsNullOrEmpty(path)) 
        return;
    return FileUtil.GetProjectRelativePath(path);
}

Но этот путь будет действителен только в редакторе, не в билде! Более того в билде этого json файла не будет поскольку на него никто не ссылается, если он не в Resource, но доставание файлов из этого каталога в билде это отдельная песня.

На него нужна ссылка, это можно с помощью типа TextAsset (.txt .html .htm .xml .bytes .json .csv .yaml .fnt).

[SerializeField] private TextAsset _json;

public void ReadJson () 
{
    Debug.Log(_json.Text);
}
→ Ссылка